@kubb/plugin-vue-query 3.1.0 → 3.2.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 (41) hide show
  1. package/dist/{chunk-HWT3VLRR.js → chunk-FPSHQREX.js} +69 -32
  2. package/dist/chunk-FPSHQREX.js.map +1 -0
  3. package/dist/{chunk-YWUOBXLY.js → chunk-GNUJZEZD.js} +14 -3
  4. package/dist/chunk-GNUJZEZD.js.map +1 -0
  5. package/dist/{chunk-63EIV54R.cjs → chunk-M7ME77VI.cjs} +25 -14
  6. package/dist/chunk-M7ME77VI.cjs.map +1 -0
  7. package/dist/{chunk-JYBDVID2.cjs → chunk-X3AYO2AG.cjs} +69 -32
  8. package/dist/chunk-X3AYO2AG.cjs.map +1 -0
  9. package/dist/components.cjs +8 -8
  10. package/dist/components.d.cts +25 -13
  11. package/dist/components.d.ts +25 -13
  12. package/dist/components.js +1 -1
  13. package/dist/generators.cjs +5 -5
  14. package/dist/generators.d.cts +1 -1
  15. package/dist/generators.d.ts +1 -1
  16. package/dist/generators.js +2 -2
  17. package/dist/index.cjs +7 -5
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +4 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/{types-DAqaLrlX.d.cts → types-BeGGMRuk.d.cts} +21 -1
  24. package/dist/{types-DAqaLrlX.d.ts → types-BeGGMRuk.d.ts} +21 -1
  25. package/package.json +11 -11
  26. package/src/components/InfiniteQuery.tsx +9 -1
  27. package/src/components/InfiniteQueryOptions.tsx +9 -2
  28. package/src/components/Mutation.tsx +18 -3
  29. package/src/components/MutationKey.tsx +5 -4
  30. package/src/components/Query.tsx +9 -1
  31. package/src/components/QueryKey.tsx +9 -5
  32. package/src/components/QueryOptions.tsx +9 -3
  33. package/src/generators/infiniteQueryGenerator.tsx +4 -0
  34. package/src/generators/mutationGenerator.tsx +3 -0
  35. package/src/generators/queryGenerator.tsx +4 -0
  36. package/src/plugin.ts +2 -0
  37. package/src/types.ts +7 -0
  38. package/dist/chunk-63EIV54R.cjs.map +0 -1
  39. package/dist/chunk-HWT3VLRR.js.map +0 -1
  40. package/dist/chunk-JYBDVID2.cjs.map +0 -1
  41. package/dist/chunk-YWUOBXLY.js.map +0 -1
@@ -7,13 +7,13 @@ var utils$1 = require('@kubb/plugin-oas/utils');
7
7
  var jsxRuntime = require('@kubb/react/jsx-runtime');
8
8
 
9
9
  // src/components/Mutation.tsx
10
- function getParams({ paramsType, pathParamsType, typeSchemas }) {
10
+ function getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
11
11
  if (paramsType === "object") {
12
12
  return react.FunctionParams.factory({
13
13
  data: {
14
14
  mode: "object",
15
15
  children: {
16
- ...utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
16
+ ...utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
17
17
  data: typeSchemas.request?.name ? {
18
18
  type: typeSchemas.request?.name,
19
19
  optional: oas.isOptional(typeSchemas.request?.schema)
@@ -37,7 +37,7 @@ function getParams({ paramsType, pathParamsType, typeSchemas }) {
37
37
  return react.FunctionParams.factory({
38
38
  pathParams: typeSchemas.pathParams?.name ? {
39
39
  mode: pathParamsType === "object" ? "object" : "inlineSpread",
40
- children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
40
+ children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
41
41
  optional: oas.isOptional(typeSchemas.pathParams?.schema)
42
42
  } : void 0,
43
43
  data: typeSchemas.request?.name ? {
@@ -68,10 +68,11 @@ function Client({
68
68
  parser,
69
69
  zodSchemas,
70
70
  paramsType,
71
+ paramsCasing,
71
72
  pathParamsType,
72
73
  operation
73
74
  }) {
74
- const path = new utils.URLPath(operation.path);
75
+ const path = new utils.URLPath(operation.path, { casing: paramsCasing });
75
76
  const contentType = operation.getContentType();
76
77
  const isFormData = contentType === "multipart/form-data";
77
78
  const headers = [
@@ -83,7 +84,7 @@ function Client({
83
84
  typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error",
84
85
  typeSchemas.request?.name || "unknown"
85
86
  ].filter(Boolean);
86
- const params = getParams({ paramsType, pathParamsType, typeSchemas });
87
+ const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas });
87
88
  const clientParams = react.FunctionParams.factory({
88
89
  config: {
89
90
  mode: "object",
@@ -147,13 +148,13 @@ Client.getParams = getParams;
147
148
  function getParams2({}) {
148
149
  return react.FunctionParams.factory({});
149
150
  }
150
- var getTransformer = ({ operation }) => {
151
- const path = new utils.URLPath(operation.path);
151
+ var getTransformer = ({ operation, casing }) => {
152
+ const path = new utils.URLPath(operation.path, { casing });
152
153
  return [JSON.stringify({ url: path.path })].filter(Boolean);
153
154
  };
154
- function MutationKey({ name, typeSchemas, pathParamsType, operation, typeName, transformer = getTransformer }) {
155
+ function MutationKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }) {
155
156
  const params = getParams2({ pathParamsType, typeSchemas });
156
- const keys = transformer({ operation, schemas: typeSchemas });
157
+ const keys = transformer({ operation, schemas: typeSchemas, casing: paramsCasing });
157
158
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
158
159
  /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Function.Arrow, { name, export: true, params: params.toConstructor(), singleLine: true, children: `[${keys.join(", ")}] as const` }) }),
159
160
  /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name: typeName, isExportable: true, isIndexable: true, isTypeOnly: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Type, { name: typeName, export: true, children: `ReturnType<typeof ${name}>` }) })
@@ -161,11 +162,12 @@ function MutationKey({ name, typeSchemas, pathParamsType, operation, typeName, t
161
162
  }
162
163
  MutationKey.getParams = getParams2;
163
164
  MutationKey.getTransformer = getTransformer;
164
- function getParams3({ dataReturnType, typeSchemas }) {
165
+ function getParams3({ paramsCasing, dataReturnType, typeSchemas }) {
165
166
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
166
167
  const mutationParams = react.FunctionParams.factory({
167
168
  ...utils$1.getPathParams(typeSchemas.pathParams, {
168
169
  typed: true,
170
+ casing: paramsCasing,
169
171
  override(item) {
170
172
  return {
171
173
  ...item,
@@ -199,23 +201,35 @@ function getParams3({ dataReturnType, typeSchemas }) {
199
201
  }
200
202
  });
201
203
  }
202
- function Mutation({ name, clientName, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }) {
204
+ function Mutation({
205
+ name,
206
+ clientName,
207
+ paramsCasing,
208
+ paramsType,
209
+ pathParamsType,
210
+ dataReturnType,
211
+ typeSchemas,
212
+ operation,
213
+ mutationKeyName
214
+ }) {
203
215
  const mutationKeyParams = MutationKey.getParams({
204
216
  pathParamsType,
205
217
  typeSchemas
206
218
  });
207
219
  const params = getParams3({
220
+ paramsCasing,
208
221
  pathParamsType,
209
222
  dataReturnType,
210
223
  typeSchemas
211
224
  });
212
225
  const clientParams = Client.getParams({
226
+ paramsCasing,
213
227
  paramsType,
214
228
  typeSchemas,
215
229
  pathParamsType
216
230
  });
217
231
  const mutationParams = react.FunctionParams.factory({
218
- ...utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
232
+ ...utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
219
233
  data: typeSchemas.request?.name ? {
220
234
  type: typeSchemas.request?.name,
221
235
  optional: oas.isOptional(typeSchemas.request?.schema)
@@ -272,12 +286,13 @@ function Mutation({ name, clientName, paramsType, pathParamsType, dataReturnType
272
286
  }
273
287
  ) });
274
288
  }
275
- function getParams4({ pathParamsType, typeSchemas }) {
289
+ function getParams4({ pathParamsType, paramsCasing, typeSchemas }) {
276
290
  return react.FunctionParams.factory({
277
291
  pathParams: {
278
292
  mode: pathParamsType === "object" ? "object" : "inlineSpread",
279
293
  children: utils$1.getPathParams(typeSchemas.pathParams, {
280
294
  typed: true,
295
+ casing: paramsCasing,
281
296
  override(item) {
282
297
  return {
283
298
  ...item,
@@ -296,8 +311,8 @@ function getParams4({ pathParamsType, typeSchemas }) {
296
311
  } : void 0
297
312
  });
298
313
  }
299
- var getTransformer2 = ({ operation, schemas }) => {
300
- const path = new utils.URLPath(operation.path);
314
+ var getTransformer2 = ({ operation, schemas, casing }) => {
315
+ const path = new utils.URLPath(operation.path, { casing });
301
316
  const keys = [
302
317
  path.toObject({
303
318
  type: "path",
@@ -308,11 +323,12 @@ var getTransformer2 = ({ operation, schemas }) => {
308
323
  ].filter(Boolean);
309
324
  return keys;
310
325
  };
311
- function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, transformer = getTransformer2 }) {
312
- const params = getParams4({ pathParamsType, typeSchemas });
326
+ function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer2 }) {
327
+ const params = getParams4({ pathParamsType, typeSchemas, paramsCasing });
313
328
  const keys = transformer({
314
329
  operation,
315
- schemas: typeSchemas
330
+ schemas: typeSchemas,
331
+ casing: paramsCasing
316
332
  });
317
333
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
318
334
  /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Function.Arrow, { name, export: true, params: params.toConstructor(), singleLine: true, children: `[${keys.join(", ")}] as const` }) }),
@@ -321,7 +337,7 @@ function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, tran
321
337
  }
322
338
  QueryKey.getParams = getParams4;
323
339
  QueryKey.getTransformer = getTransformer2;
324
- function getParams5({ paramsType, pathParamsType, typeSchemas }) {
340
+ function getParams5({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
325
341
  if (paramsType === "object") {
326
342
  return react.FunctionParams.factory({
327
343
  data: {
@@ -329,6 +345,7 @@ function getParams5({ paramsType, pathParamsType, typeSchemas }) {
329
345
  children: {
330
346
  ...utils$1.getPathParams(typeSchemas.pathParams, {
331
347
  typed: true,
348
+ casing: paramsCasing,
332
349
  override(item) {
333
350
  return {
334
351
  ...item,
@@ -362,6 +379,7 @@ function getParams5({ paramsType, pathParamsType, typeSchemas }) {
362
379
  optional: oas.isOptional(typeSchemas.pathParams?.schema),
363
380
  children: utils$1.getPathParams(typeSchemas.pathParams, {
364
381
  typed: true,
382
+ casing: paramsCasing,
365
383
  override(item) {
366
384
  return {
367
385
  ...item,
@@ -388,16 +406,18 @@ function getParams5({ paramsType, pathParamsType, typeSchemas }) {
388
406
  }
389
407
  });
390
408
  }
391
- function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType, queryKeyName }) {
392
- const params = getParams5({ paramsType, pathParamsType, typeSchemas });
409
+ function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, pathParamsType, queryKeyName }) {
410
+ const params = getParams5({ paramsType, paramsCasing, pathParamsType, typeSchemas });
393
411
  const clientParams = Client.getParams({
394
412
  paramsType,
413
+ paramsCasing,
395
414
  typeSchemas,
396
415
  pathParamsType
397
416
  });
398
417
  const queryKeyParams = QueryKey.getParams({
399
418
  pathParamsType,
400
- typeSchemas
419
+ typeSchemas,
420
+ paramsCasing
401
421
  });
402
422
  const enabled = Object.entries(queryKeyParams.flatParams).map(([key, item]) => item && !item.optional ? key : void 0).filter(Boolean).join("&& ");
403
423
  const enabledText = enabled ? `enabled: !!(${enabled}),` : "";
@@ -418,7 +438,7 @@ function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsTyp
418
438
  ` }) });
419
439
  }
420
440
  QueryOptions.getParams = getParams5;
421
- function getParams6({ paramsType, pathParamsType, dataReturnType, typeSchemas }) {
441
+ function getParams6({ paramsCasing, paramsType, pathParamsType, dataReturnType, typeSchemas }) {
422
442
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
423
443
  if (paramsType === "object") {
424
444
  return react.FunctionParams.factory({
@@ -427,6 +447,7 @@ function getParams6({ paramsType, pathParamsType, dataReturnType, typeSchemas })
427
447
  children: {
428
448
  ...utils$1.getPathParams(typeSchemas.pathParams, {
429
449
  typed: true,
450
+ casing: paramsCasing,
430
451
  override(item) {
431
452
  return {
432
453
  ...item,
@@ -465,6 +486,7 @@ function getParams6({ paramsType, pathParamsType, dataReturnType, typeSchemas })
465
486
  optional: oas.isOptional(typeSchemas.pathParams?.schema),
466
487
  children: utils$1.getPathParams(typeSchemas.pathParams, {
467
488
  typed: true,
489
+ casing: paramsCasing,
468
490
  override(item) {
469
491
  return {
470
492
  ...item,
@@ -502,6 +524,7 @@ function Query({
502
524
  queryOptionsName,
503
525
  queryKeyName,
504
526
  paramsType,
527
+ paramsCasing,
505
528
  pathParamsType,
506
529
  dataReturnType,
507
530
  typeSchemas,
@@ -512,14 +535,17 @@ function Query({
512
535
  const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`];
513
536
  const queryKeyParams = QueryKey.getParams({
514
537
  pathParamsType,
515
- typeSchemas
538
+ typeSchemas,
539
+ paramsCasing
516
540
  });
517
541
  const queryOptionsParams = QueryOptions.getParams({
518
542
  paramsType,
519
543
  pathParamsType,
520
- typeSchemas
544
+ typeSchemas,
545
+ paramsCasing
521
546
  });
522
547
  const params = getParams6({
548
+ paramsCasing,
523
549
  paramsType,
524
550
  pathParamsType,
525
551
  dataReturnType,
@@ -554,7 +580,7 @@ function Query({
554
580
  ) });
555
581
  }
556
582
  Query.getParams = getParams6;
557
- function getParams7({ paramsType, pathParamsType, typeSchemas }) {
583
+ function getParams7({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
558
584
  if (paramsType === "object") {
559
585
  return react.FunctionParams.factory({
560
586
  data: {
@@ -562,6 +588,7 @@ function getParams7({ paramsType, pathParamsType, typeSchemas }) {
562
588
  children: {
563
589
  ...utils$1.getPathParams(typeSchemas.pathParams, {
564
590
  typed: true,
591
+ casing: paramsCasing,
565
592
  override(item) {
566
593
  return {
567
594
  ...item,
@@ -595,6 +622,7 @@ function getParams7({ paramsType, pathParamsType, typeSchemas }) {
595
622
  optional: oas.isOptional(typeSchemas.pathParams?.schema),
596
623
  children: utils$1.getPathParams(typeSchemas.pathParams, {
597
624
  typed: true,
625
+ casing: paramsCasing,
598
626
  override(item) {
599
627
  return {
600
628
  ...item,
@@ -628,18 +656,21 @@ function InfiniteQueryOptions({
628
656
  cursorParam,
629
657
  typeSchemas,
630
658
  paramsType,
659
+ paramsCasing,
631
660
  dataReturnType,
632
661
  pathParamsType,
633
662
  queryParam,
634
663
  queryKeyName
635
664
  }) {
636
- const params = getParams7({ paramsType, pathParamsType, typeSchemas });
665
+ const params = getParams7({ paramsType, paramsCasing, pathParamsType, typeSchemas });
637
666
  const clientParams = Client.getParams({
638
667
  paramsType,
668
+ paramsCasing,
639
669
  typeSchemas,
640
670
  pathParamsType
641
671
  });
642
672
  const queryKeyParams = QueryKey.getParams({
673
+ paramsCasing,
643
674
  pathParamsType,
644
675
  typeSchemas
645
676
  });
@@ -672,7 +703,7 @@ function InfiniteQueryOptions({
672
703
  ` }) });
673
704
  }
674
705
  InfiniteQueryOptions.getParams = getParams7;
675
- function getParams8({ paramsType, pathParamsType, dataReturnType, typeSchemas }) {
706
+ function getParams8({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }) {
676
707
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
677
708
  if (paramsType === "object") {
678
709
  return react.FunctionParams.factory({
@@ -681,6 +712,7 @@ function getParams8({ paramsType, pathParamsType, dataReturnType, typeSchemas })
681
712
  children: {
682
713
  ...utils$1.getPathParams(typeSchemas.pathParams, {
683
714
  typed: true,
715
+ casing: paramsCasing,
684
716
  override(item) {
685
717
  return {
686
718
  ...item,
@@ -719,6 +751,7 @@ function getParams8({ paramsType, pathParamsType, dataReturnType, typeSchemas })
719
751
  optional: oas.isOptional(typeSchemas.pathParams?.schema),
720
752
  children: utils$1.getPathParams(typeSchemas.pathParams, {
721
753
  typed: true,
754
+ casing: paramsCasing,
722
755
  override(item) {
723
756
  return {
724
757
  ...item,
@@ -757,6 +790,7 @@ function InfiniteQuery({
757
790
  queryKeyName,
758
791
  paramsType,
759
792
  pathParamsType,
793
+ paramsCasing,
760
794
  dataReturnType,
761
795
  typeSchemas,
762
796
  operation
@@ -766,14 +800,17 @@ function InfiniteQuery({
766
800
  const generics = [`TData = InfiniteData<${TData}>`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`];
767
801
  const queryKeyParams = QueryKey.getParams({
768
802
  pathParamsType,
769
- typeSchemas
803
+ typeSchemas,
804
+ paramsCasing
770
805
  });
771
806
  const queryOptionsParams = QueryOptions.getParams({
772
807
  paramsType,
773
808
  pathParamsType,
774
- typeSchemas
809
+ typeSchemas,
810
+ paramsCasing
775
811
  });
776
812
  const params = getParams8({
813
+ paramsCasing,
777
814
  paramsType,
778
815
  pathParamsType,
779
816
  dataReturnType,
@@ -817,5 +854,5 @@ exports.MutationKey = MutationKey;
817
854
  exports.Query = Query;
818
855
  exports.QueryKey = QueryKey;
819
856
  exports.QueryOptions = QueryOptions;
820
- //# sourceMappingURL=chunk-JYBDVID2.cjs.map
821
- //# sourceMappingURL=chunk-JYBDVID2.cjs.map
857
+ //# sourceMappingURL=chunk-X3AYO2AG.cjs.map
858
+ //# sourceMappingURL=chunk-X3AYO2AG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../plugin-client/src/components/Client.tsx","../src/components/MutationKey.tsx","../src/components/Mutation.tsx","../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx","../src/components/InfiniteQueryOptions.tsx","../src/components/InfiniteQuery.tsx"],"names":["FunctionParams","getPathParams","isOptional","URLPath","File","jsxs","Function","getComments","getParams","Fragment","jsx","Type","getTransformer","name"],"mappings":"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","file":"chunk-X3AYO2AG.cjs","sourcesContent":["import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { KubbNode } from '@kubb/react/types'\nimport type { PluginClient } from '../types.ts'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n isExportable?: boolean\n isIndexable?: boolean\n\n baseURL: string | undefined\n dataReturnType: PluginClient['resolvedOptions']['dataReturnType']\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['pathParamsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n parser: PluginClient['resolvedOptions']['parser'] | undefined\n typeSchemas: OperationSchemas\n zodSchemas: OperationSchemas | undefined\n operation: Operation\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['paramsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n}\n\nexport function Client({\n name,\n isExportable = true,\n isIndexable = true,\n typeSchemas,\n baseURL,\n dataReturnType,\n parser,\n zodSchemas,\n paramsType,\n paramsCasing,\n pathParamsType,\n operation,\n}: Props): KubbNode {\n const path = new URLPath(operation.path, { casing: paramsCasing })\n const contentType = operation.getContentType()\n const isFormData = contentType === 'multipart/form-data'\n const headers = [\n contentType !== 'application/json' ? `'Content-Type': '${contentType}'` : undefined,\n typeSchemas.headerParams?.name ? '...headers' : undefined,\n ].filter(Boolean)\n\n const generics = [\n typeSchemas.response.name,\n typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error',\n typeSchemas.request?.name || 'unknown',\n ].filter(Boolean)\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const clientParams = FunctionParams.factory({\n config: {\n mode: 'object',\n children: {\n method: {\n value: JSON.stringify(operation.method.toUpperCase()),\n },\n url: {\n value: path.template,\n },\n baseURL: baseURL\n ? {\n value: JSON.stringify(baseURL),\n }\n : undefined,\n params: typeSchemas.queryParams?.name ? {} : undefined,\n data: typeSchemas.request?.name\n ? {\n value: isFormData ? 'formData' : undefined,\n }\n : undefined,\n headers: headers.length\n ? {\n value: headers.length ? `{ ${headers.join(', ')}, ...config.headers }` : undefined,\n }\n : undefined,\n config: {\n mode: 'inlineSpread',\n },\n },\n },\n })\n\n const formData = isFormData\n ? `\n const formData = new FormData()\n if(data) {\n Object.keys(data).forEach((key) => {\n const value = data[key as keyof typeof data];\n if (typeof key === \"string\" && (typeof value === \"string\" || value instanceof Blob)) {\n formData.append(key, value);\n }\n })\n }\n `\n : ''\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function\n name={name}\n async\n export={isExportable}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {formData}\n {`const res = await client<${generics.join(', ')}>(${clientParams.toCall()})`}\n <br />\n {dataReturnType === 'full' && parser === 'zod' && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`}\n {dataReturnType === 'data' && parser === 'zod' && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`}\n {dataReturnType === 'full' && parser === 'client' && 'return res'}\n {dataReturnType === 'data' && parser === 'client' && 'return res.data'}\n </Function>\n </File.Source>\n )\n}\n\nClient.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport type { Operation } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginVueQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({}: GetParamsProps) {\n return FunctionParams.factory({})\n}\n\nconst getTransformer: Transformer = ({ operation, casing }) => {\n const path = new URLPath(operation.path, { casing })\n\n return [JSON.stringify({ url: path.path })].filter(Boolean)\n}\n\nexport function MutationKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, typeSchemas })\n const keys = transformer({ operation, schemas: typeSchemas, casing: paramsCasing })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nMutationKey.getParams = getParams\nMutationKey.getTransformer = getTransformer\n","import { File, Function, FunctionParams } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport type { Params } from '@kubb/react/types'\nimport type { ReactNode } from 'react'\nimport type { PluginVueQuery } from '../types.ts'\nimport { MutationKey } from './MutationKey.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n typeName: string\n clientName: string\n mutationKeyName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginVueQuery['resolvedOptions']['paramsType']\n dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsCasing, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const mutationParams = FunctionParams.factory({\n ...getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.headerParams?.name}>`,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n })\n const TRequest = mutationParams.toConstructor({ valueAsType: true })\n\n return FunctionParams.factory({\n options: {\n type: `\n{\n mutation?: MutationObserverOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', TRequest ? `{${TRequest}}` : undefined].filter(Boolean).join(', ')}>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'},\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Mutation({\n name,\n clientName,\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n mutationKeyName,\n}: Props): ReactNode {\n const mutationKeyParams = MutationKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n\n const params = getParams({\n paramsCasing,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const clientParams = Client.getParams({\n paramsCasing,\n paramsType,\n typeSchemas,\n pathParamsType,\n })\n\n const mutationParams = FunctionParams.factory({\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n })\n const dataParams = FunctionParams.factory({\n data: {\n // No use of pathParams because useMutation can only take one argument in object form,\n // see https://tanstack.com/query/latest/docs/framework/react/reference/useMutation#usemutation\n mode: 'object',\n children: Object.entries(mutationParams.params).reduce((acc, [key, value]) => {\n if (value) {\n acc[key] = {\n ...value,\n type: undefined,\n }\n }\n\n return acc\n }, {} as Params),\n },\n })\n\n const TRequest = mutationParams.toConstructor({ valueAsType: true })\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', TRequest ? `{${TRequest}}` : undefined]\n .filter(Boolean)\n .join(', ')\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { mutation: mutationOptions, client: config = {} } = options ?? {}\n const mutationKey = mutationOptions?.mutationKey ?? ${mutationKeyName}(${mutationKeyParams.toCall()})\n\n return useMutation<${generics}>({\n mutationFn: async(${dataParams.toConstructor()}) => {\n return ${clientName}(${clientParams.toCall()})\n },\n mutationKey,\n ...mutationOptions\n })\n `}\n </Function>\n </File.Source>\n )\n}\n","import { URLPath } from '@kubb/core/utils'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginVueQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n },\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n })\n}\n\nconst getTransformer: Transformer = ({ operation, schemas, casing }) => {\n const path = new URLPath(operation.path, { casing })\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n schemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n schemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return keys\n}\n\nexport function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, typeSchemas, paramsCasing })\n const keys = transformer({\n operation,\n schemas: typeSchemas,\n casing: paramsCasing,\n })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nQueryKey.getParams = getParams\nQueryKey.getTransformer = getTransformer\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { PluginReactQuery } from '@kubb/plugin-react-query'\nimport type { PluginVueQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginVueQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginVueQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n optional: isOptional(typeSchemas.pathParams?.schema),\n children: getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n },\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n}\n\nexport function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, pathParamsType, queryKeyName }: Props): ReactNode {\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsType,\n paramsCasing,\n typeSchemas,\n pathParamsType,\n })\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n\n const enabled = Object.entries(queryKeyParams.flatParams)\n .map(([key, item]) => (item && !item.optional ? key : undefined))\n .filter(Boolean)\n .join('&& ')\n\n const enabledText = enabled ? `enabled: !!(${enabled}),` : ''\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n return queryOptions({\n ${enabledText}\n queryKey,\n queryFn: async ({ signal }) => {\n config.signal = signal\n return ${clientName}(${clientParams.toCall({\n transformName(name) {\n return `unref(${name})`\n },\n })})\n },\n })\n`}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { File, Function, FunctionParams } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport type { PluginReactQuery } from '@kubb/plugin-react-query'\nimport type { ReactNode } from 'react'\nimport type { PluginVueQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginVueQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginVueQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsCasing, paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.headerParams?.name}>`,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n options: {\n type: `\n{\n query?: Partial<QueryObserverOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'}\n}\n`,\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n optional: isOptional(typeSchemas.pathParams?.schema),\n children: getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n },\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.headerParams?.name}>`,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: `\n{\n query?: Partial<QueryObserverOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsType,\n paramsCasing,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const returnType = `UseQueryReturnType<${['TData', typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'].join(', ')}> & { queryKey: TQueryKey }`\n const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n const params = getParams({\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as QueryObserverOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: queryOptions, client: config = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = useQuery({\n ...${queryOptions},\n queryKey: queryKey as QueryKey,\n ...queryOptions as unknown as Omit<QueryObserverOptions, \"queryKey\">\n }) as ${returnType}\n\n query.queryKey = queryKey as TQueryKey\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { Infinite, PluginVueQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginVueQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType']\n initialPageParam: Infinite['initialPageParam']\n cursorParam: Infinite['cursorParam']\n queryParam: Infinite['queryParam']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginVueQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n optional: isOptional(typeSchemas.pathParams?.schema),\n children: getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n },\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.headerParams?.name}>`,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n}\n\nexport function InfiniteQueryOptions({\n name,\n clientName,\n initialPageParam,\n cursorParam,\n typeSchemas,\n paramsType,\n paramsCasing,\n dataReturnType,\n pathParamsType,\n queryParam,\n queryKeyName,\n}: Props): ReactNode {\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsType,\n paramsCasing,\n typeSchemas,\n pathParamsType,\n })\n const queryKeyParams = QueryKey.getParams({\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n\n const queryOptions = [\n `initialPageParam: ${typeof initialPageParam === 'string' ? JSON.stringify(initialPageParam) : initialPageParam}`,\n cursorParam ? `getNextPageParam: (lastPage) => lastPage['${cursorParam}']` : undefined,\n cursorParam ? `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']` : undefined,\n !cursorParam && dataReturnType === 'full'\n ? 'getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1'\n : undefined,\n !cursorParam && dataReturnType === 'data'\n ? 'getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1'\n : undefined,\n !cursorParam ? 'getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1' : undefined,\n ].filter(Boolean)\n\n const infiniteOverrideParams =\n queryParam && typeSchemas.queryParams?.name\n ? `\n if(params) {\n params['${queryParam}'] = pageParam as unknown as ${typeSchemas.queryParams?.name}['${queryParam}']\n }`\n : ''\n\n const enabled = Object.entries(queryKeyParams.flatParams)\n .map(([key, item]) => (item && !item.optional ? key : undefined))\n .filter(Boolean)\n .join('&& ')\n\n const enabledText = enabled ? `enabled: !!(${enabled}),` : ''\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n return infiniteQueryOptions({\n ${enabledText}\n queryKey,\n queryFn: async ({ signal, pageParam }) => {\n config.signal = signal\n ${infiniteOverrideParams}\n return ${clientName}(${clientParams.toCall()})\n },\n ${queryOptions.join(',\\n')}\n })\n`}\n </Function>\n </File.Source>\n )\n}\n\nInfiniteQueryOptions.getParams = getParams\n","import { File, Function, FunctionParams } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport type { ReactNode } from 'react'\nimport type { PluginVueQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginVueQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginVueQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginVueQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.headerParams?.name}>`,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n options: {\n type: `\n{\n query?: Partial<InfiniteQueryObserverOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'}\n}\n`,\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n optional: isOptional(typeSchemas.pathParams?.schema),\n children: getPathParams(typeSchemas.pathParams, {\n typed: true,\n casing: paramsCasing,\n override(item) {\n return {\n ...item,\n type: `MaybeRef<${item.type}>`,\n }\n },\n }),\n },\n data: typeSchemas.request?.name\n ? {\n type: `MaybeRef<${typeSchemas.request?.name}>`,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.queryParams?.name}>`,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: `MaybeRef<${typeSchemas.headerParams?.name}>`,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: `\n{\n query?: Partial<InfiniteQueryObserverOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function InfiniteQuery({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsType,\n pathParamsType,\n paramsCasing,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const returnType = `UseInfiniteQueryReturnType<${['TData', typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'].join(', ')}> & { queryKey: TQueryKey }`\n const generics = [`TData = InfiniteData<${TData}>`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n pathParamsType,\n typeSchemas,\n paramsCasing,\n })\n const params = getParams({\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as InfiniteQueryObserverOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: queryOptions, client: config = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = useInfiniteQuery({\n ...${queryOptions},\n queryKey: queryKey as QueryKey,\n ...queryOptions as unknown as Omit<InfiniteQueryObserverOptions, \"queryKey\">\n }) as ${returnType}\n\n query.queryKey = queryKey as TQueryKey\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nInfiniteQuery.getParams = getParams\n"]}
@@ -1,36 +1,36 @@
1
1
  'use strict';
2
2
 
3
- var chunkJYBDVID2_cjs = require('./chunk-JYBDVID2.cjs');
3
+ var chunkX3AYO2AG_cjs = require('./chunk-X3AYO2AG.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "InfiniteQuery", {
8
8
  enumerable: true,
9
- get: function () { return chunkJYBDVID2_cjs.InfiniteQuery; }
9
+ get: function () { return chunkX3AYO2AG_cjs.InfiniteQuery; }
10
10
  });
11
11
  Object.defineProperty(exports, "InfiniteQueryOptions", {
12
12
  enumerable: true,
13
- get: function () { return chunkJYBDVID2_cjs.InfiniteQueryOptions; }
13
+ get: function () { return chunkX3AYO2AG_cjs.InfiniteQueryOptions; }
14
14
  });
15
15
  Object.defineProperty(exports, "Mutation", {
16
16
  enumerable: true,
17
- get: function () { return chunkJYBDVID2_cjs.Mutation; }
17
+ get: function () { return chunkX3AYO2AG_cjs.Mutation; }
18
18
  });
19
19
  Object.defineProperty(exports, "MutationKey", {
20
20
  enumerable: true,
21
- get: function () { return chunkJYBDVID2_cjs.MutationKey; }
21
+ get: function () { return chunkX3AYO2AG_cjs.MutationKey; }
22
22
  });
23
23
  Object.defineProperty(exports, "Query", {
24
24
  enumerable: true,
25
- get: function () { return chunkJYBDVID2_cjs.Query; }
25
+ get: function () { return chunkX3AYO2AG_cjs.Query; }
26
26
  });
27
27
  Object.defineProperty(exports, "QueryKey", {
28
28
  enumerable: true,
29
- get: function () { return chunkJYBDVID2_cjs.QueryKey; }
29
+ get: function () { return chunkX3AYO2AG_cjs.QueryKey; }
30
30
  });
31
31
  Object.defineProperty(exports, "QueryOptions", {
32
32
  enumerable: true,
33
- get: function () { return chunkJYBDVID2_cjs.QueryOptions; }
33
+ get: function () { return chunkX3AYO2AG_cjs.QueryOptions; }
34
34
  });
35
35
  //# sourceMappingURL=components.cjs.map
36
36
  //# sourceMappingURL=components.cjs.map