@kubb/plugin-vue-query 5.0.0-beta.15 → 5.0.0-beta.25

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 (38) hide show
  1. package/dist/{components-1cEftHJm.cjs → components-CeZrYaZj.cjs} +44 -53
  2. package/dist/components-CeZrYaZj.cjs.map +1 -0
  3. package/dist/{components-DTSvTMEo.js → components-CpTXuQiK.js} +44 -53
  4. package/dist/components-CpTXuQiK.js.map +1 -0
  5. package/dist/components.cjs +1 -1
  6. package/dist/components.d.ts +3 -3
  7. package/dist/components.js +1 -1
  8. package/dist/{generators-BEiWCS-U.cjs → generators-BSMwPpbh.cjs} +55 -39
  9. package/dist/generators-BSMwPpbh.cjs.map +1 -0
  10. package/dist/{generators-F6_EduRU.js → generators-Cb5_nhMY.js} +55 -39
  11. package/dist/generators-Cb5_nhMY.js.map +1 -0
  12. package/dist/generators.cjs +1 -1
  13. package/dist/generators.d.ts +17 -1
  14. package/dist/generators.js +1 -1
  15. package/dist/index.cjs +47 -8
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.ts +29 -1
  18. package/dist/index.js +47 -8
  19. package/dist/index.js.map +1 -1
  20. package/dist/{types-Bkm7bWT3.d.ts → types-D-LjzI_Q.d.ts} +73 -46
  21. package/extension.yaml +779 -255
  22. package/package.json +7 -7
  23. package/src/components/InfiniteQuery.tsx +1 -1
  24. package/src/components/InfiniteQueryOptions.tsx +21 -31
  25. package/src/components/Mutation.tsx +2 -2
  26. package/src/components/Query.tsx +1 -1
  27. package/src/components/QueryKey.tsx +3 -3
  28. package/src/components/QueryOptions.tsx +1 -1
  29. package/src/generators/infiniteQueryGenerator.tsx +22 -13
  30. package/src/generators/mutationGenerator.tsx +20 -12
  31. package/src/generators/queryGenerator.tsx +20 -12
  32. package/src/plugin.ts +32 -4
  33. package/src/resolvers/resolverVueQuery.ts +13 -2
  34. package/src/types.ts +72 -45
  35. package/dist/components-1cEftHJm.cjs.map +0 -1
  36. package/dist/components-DTSvTMEo.js.map +0 -1
  37. package/dist/generators-BEiWCS-U.cjs.map +0 -1
  38. package/dist/generators-F6_EduRU.js.map +0 -1
@@ -1,4 +1,4 @@
1
- const require_components = require("./components-1cEftHJm.cjs");
1
+ const require_components = require("./components-CeZrYaZj.cjs");
2
2
  let node_path = require("node:path");
3
3
  node_path = require_components.__toESM(node_path);
4
4
  let _kubb_core = require("@kubb/core");
@@ -9,18 +9,24 @@ let _kubb_renderer_jsx = require("@kubb/renderer-jsx");
9
9
  let _kubb_renderer_jsx_jsx_runtime = require("@kubb/renderer-jsx/jsx-runtime");
10
10
  let remeda = require("remeda");
11
11
  //#region src/generators/infiniteQueryGenerator.tsx
12
+ /**
13
+ * Built-in generator for `useInfiniteQuery` composables. Enabled when
14
+ * `pluginVueQuery({ infinite: { ... } })`. Emits one `useFooInfiniteQuery`
15
+ * composable per query operation, wiring the configured cursor path into
16
+ * TanStack Query's cursor-based pagination.
17
+ */
12
18
  const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
13
19
  name: "vue-query-infinite",
14
20
  renderer: _kubb_renderer_jsx.jsxRendererSync,
15
21
  operation(node, ctx) {
16
- const { config, driver, resolver, root, inputNode } = ctx;
22
+ const { config, driver, resolver, root } = ctx;
17
23
  const { output, query, mutation, infinite, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options;
18
24
  const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
19
25
  if (!pluginTs) return null;
20
26
  const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
21
27
  const isQuery = query === false || !!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase());
22
28
  const isMutation = mutation !== false && !isQuery && (0, remeda.difference)(mutation ? mutation.methods : [], query ? query.methods : []).some((method) => node.method.toLowerCase() === method.toLowerCase());
23
- const infiniteOptions = infinite && typeof infinite === "object" ? infinite : void 0;
29
+ const infiniteOptions = infinite && typeof infinite === "object" ? infinite : null;
24
30
  if (!isQuery || isMutation || !infiniteOptions) return null;
25
31
  const normalizeKey = (key) => key.replace(/\?$/, "");
26
32
  const queryParamKeys = require_components.getOperationParameters(node).query.map((p) => p.name);
@@ -42,7 +48,7 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
42
48
  }, {
43
49
  root,
44
50
  output,
45
- group
51
+ group: group ?? void 0
46
52
  }),
47
53
  fileTs: tsResolver.resolveFile({
48
54
  name: node.operationId,
@@ -52,7 +58,7 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
52
58
  }, {
53
59
  root,
54
60
  output: pluginTs.options?.output ?? output,
55
- group: pluginTs.options?.group
61
+ group: pluginTs.options?.group ?? void 0
56
62
  })
57
63
  };
58
64
  const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
@@ -60,8 +66,8 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
60
66
  exclude: [queryKeyTypeName],
61
67
  order: "body-response-first"
62
68
  });
63
- const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
64
- const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
69
+ const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
70
+ const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
65
71
  const fileZod = zodResolver ? zodResolver.resolveFile({
66
72
  name: node.operationId,
67
73
  extname: ".ts",
@@ -70,12 +76,12 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
70
76
  }, {
71
77
  root,
72
78
  output: pluginZod?.options?.output ?? output,
73
- group: pluginZod?.options?.group
74
- }) : void 0;
79
+ group: pluginZod?.options?.group ?? void 0
80
+ }) : null;
75
81
  const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
76
82
  const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
77
83
  const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
78
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : void 0;
84
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
79
85
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
80
86
  name: node.operationId,
81
87
  extname: ".ts",
@@ -84,18 +90,18 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
84
90
  }, {
85
91
  root,
86
92
  output: clientPlugin?.options?.output ?? output,
87
- group: clientPlugin?.options?.group
88
- }) : void 0;
93
+ group: clientPlugin?.options?.group ?? void 0
94
+ }) : null;
89
95
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientBaseName : clientBaseName;
90
96
  return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
91
97
  baseName: meta.file.baseName,
92
98
  path: meta.file.path,
93
99
  meta: meta.file.meta,
94
- banner: resolver.resolveBanner(inputNode, {
100
+ banner: resolver.resolveBanner(ctx.meta, {
95
101
  output,
96
102
  config
97
103
  }),
98
- footer: resolver.resolveFooter(inputNode, {
104
+ footer: resolver.resolveFooter(ctx.meta, {
99
105
  output,
100
106
  config
101
107
  }),
@@ -252,11 +258,16 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
252
258
  });
253
259
  //#endregion
254
260
  //#region src/generators/mutationGenerator.tsx
261
+ /**
262
+ * Built-in generator for `useMutation` composables. Emits one
263
+ * `useFooMutation` composable per POST/PUT/DELETE operation (configurable
264
+ * via `mutation.methods`) plus the matching `fooMutationKey` helper.
265
+ */
255
266
  const mutationGenerator = (0, _kubb_core.defineGenerator)({
256
267
  name: "vue-query-mutation",
257
268
  renderer: _kubb_renderer_jsx.jsxRendererSync,
258
269
  operation(node, ctx) {
259
- const { config, driver, resolver, root, inputNode } = ctx;
270
+ const { config, driver, resolver, root } = ctx;
260
271
  const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options;
261
272
  const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
262
273
  if (!pluginTs) return null;
@@ -277,7 +288,7 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
277
288
  }, {
278
289
  root,
279
290
  output,
280
- group
291
+ group: group ?? void 0
281
292
  }),
282
293
  fileTs: tsResolver.resolveFile({
283
294
  name: node.operationId,
@@ -287,15 +298,15 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
287
298
  }, {
288
299
  root,
289
300
  output: pluginTs.options?.output ?? output,
290
- group: pluginTs.options?.group
301
+ group: pluginTs.options?.group ?? void 0
291
302
  })
292
303
  };
293
304
  const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
294
305
  paramsCasing,
295
306
  order: "body-response-first"
296
307
  });
297
- const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
298
- const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
308
+ const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
309
+ const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
299
310
  const fileZod = zodResolver ? zodResolver.resolveFile({
300
311
  name: node.operationId,
301
312
  extname: ".ts",
@@ -304,12 +315,12 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
304
315
  }, {
305
316
  root,
306
317
  output: pluginZod?.options?.output ?? output,
307
- group: pluginZod?.options?.group
308
- }) : void 0;
318
+ group: pluginZod?.options?.group ?? void 0
319
+ }) : null;
309
320
  const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
310
321
  const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
311
322
  const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
312
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : void 0;
323
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
313
324
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
314
325
  name: node.operationId,
315
326
  extname: ".ts",
@@ -318,18 +329,18 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
318
329
  }, {
319
330
  root,
320
331
  output: clientPlugin?.options?.output ?? output,
321
- group: clientPlugin?.options?.group
322
- }) : void 0;
332
+ group: clientPlugin?.options?.group ?? void 0
333
+ }) : null;
323
334
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientName : clientName;
324
335
  return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
325
336
  baseName: meta.file.baseName,
326
337
  path: meta.file.path,
327
338
  meta: meta.file.meta,
328
- banner: resolver.resolveBanner(inputNode, {
339
+ banner: resolver.resolveBanner(ctx.meta, {
329
340
  output,
330
341
  config
331
342
  }),
332
- footer: resolver.resolveFooter(inputNode, {
343
+ footer: resolver.resolveFooter(ctx.meta, {
333
344
  output,
334
345
  config
335
346
  }),
@@ -450,11 +461,16 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
450
461
  });
451
462
  //#endregion
452
463
  //#region src/generators/queryGenerator.tsx
464
+ /**
465
+ * Built-in generator for `useQuery` composables. Emits one `useFooQuery`
466
+ * composable per GET operation (configurable via `query.methods`) plus the
467
+ * matching `fooQueryKey` / `fooQueryOptions` helpers.
468
+ */
453
469
  const queryGenerator = (0, _kubb_core.defineGenerator)({
454
470
  name: "vue-query",
455
471
  renderer: _kubb_renderer_jsx.jsxRendererSync,
456
472
  operation(node, ctx) {
457
- const { config, driver, resolver, root, inputNode } = ctx;
473
+ const { config, driver, resolver, root } = ctx;
458
474
  const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options;
459
475
  const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
460
476
  if (!pluginTs) return null;
@@ -477,7 +493,7 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
477
493
  }, {
478
494
  root,
479
495
  output,
480
- group
496
+ group: group ?? void 0
481
497
  }),
482
498
  fileTs: tsResolver.resolveFile({
483
499
  name: node.operationId,
@@ -487,7 +503,7 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
487
503
  }, {
488
504
  root,
489
505
  output: pluginTs.options?.output ?? output,
490
- group: pluginTs.options?.group
506
+ group: pluginTs.options?.group ?? void 0
491
507
  })
492
508
  };
493
509
  const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
@@ -495,8 +511,8 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
495
511
  exclude: [queryKeyTypeName],
496
512
  order: "body-response-first"
497
513
  });
498
- const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
499
- const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
514
+ const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
515
+ const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
500
516
  const fileZod = zodResolver ? zodResolver.resolveFile({
501
517
  name: node.operationId,
502
518
  extname: ".ts",
@@ -505,12 +521,12 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
505
521
  }, {
506
522
  root,
507
523
  output: pluginZod?.options?.output ?? output,
508
- group: pluginZod?.options?.group
509
- }) : void 0;
524
+ group: pluginZod?.options?.group ?? void 0
525
+ }) : null;
510
526
  const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
511
527
  const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
512
528
  const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
513
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : void 0;
529
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
514
530
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
515
531
  name: node.operationId,
516
532
  extname: ".ts",
@@ -519,18 +535,18 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
519
535
  }, {
520
536
  root,
521
537
  output: clientPlugin?.options?.output ?? output,
522
- group: clientPlugin?.options?.group
523
- }) : void 0;
538
+ group: clientPlugin?.options?.group ?? void 0
539
+ }) : null;
524
540
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientName : clientName;
525
541
  return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
526
542
  baseName: meta.file.baseName,
527
543
  path: meta.file.path,
528
544
  meta: meta.file.meta,
529
- banner: resolver.resolveBanner(inputNode, {
545
+ banner: resolver.resolveBanner(ctx.meta, {
530
546
  output,
531
547
  config
532
548
  }),
533
- footer: resolver.resolveFooter(inputNode, {
549
+ footer: resolver.resolveFooter(ctx.meta, {
534
550
  output,
535
551
  config
536
552
  }),
@@ -695,4 +711,4 @@ Object.defineProperty(exports, "queryGenerator", {
695
711
  }
696
712
  });
697
713
 
698
- //# sourceMappingURL=generators-BEiWCS-U.cjs.map
714
+ //# sourceMappingURL=generators-BSMwPpbh.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators-BSMwPpbh.cjs","names":["jsxRendererSync","pluginTsName","getOperationParameters","resolveOperationTypeNames","pluginZodName","resolveZodSchemaNames","pluginClientName","File","path","QueryKey","Client","InfiniteQueryOptions","InfiniteQuery","jsxRendererSync","pluginTsName","resolveOperationTypeNames","pluginZodName","resolveZodSchemaNames","pluginClientName","File","path","MutationKey","Client","Mutation","jsxRendererSync","pluginTsName","resolveOperationTypeNames","pluginZodName","resolveZodSchemaNames","pluginClientName","File","path","QueryKey","Client","QueryOptions","Query"],"sources":["../src/generators/infiniteQueryGenerator.tsx","../src/generators/mutationGenerator.tsx","../src/generators/queryGenerator.tsx"],"sourcesContent":["import path from 'node:path'\nimport { getOperationParameters, resolveOperationTypeNames } from '@internals/shared'\nimport { resolveZodSchemaNames } from '@internals/tanstack-query'\nimport { defineGenerator } from '@kubb/core'\nimport { Client, pluginClientName } from '@kubb/plugin-client'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, jsxRendererSync } from '@kubb/renderer-jsx'\nimport { difference } from 'remeda'\nimport { InfiniteQuery, InfiniteQueryOptions, QueryKey } from '../components'\nimport type { PluginVueQuery } from '../types'\n\n/**\n * Built-in generator for `useInfiniteQuery` composables. Enabled when\n * `pluginVueQuery({ infinite: { ... } })`. Emits one `useFooInfiniteQuery`\n * composable per query operation, wiring the configured cursor path into\n * TanStack Query's cursor-based pagination.\n */\nexport const infiniteQueryGenerator = defineGenerator<PluginVueQuery>({\n name: 'vue-query-infinite',\n renderer: jsxRendererSync,\n operation(node, ctx) {\n const { config, driver, resolver, root } = ctx\n const { output, query, mutation, infinite, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options\n\n const pluginTs = driver.getPlugin(pluginTsName)\n if (!pluginTs) return null\n const tsResolver = driver.getResolver(pluginTsName)\n\n const isQuery = query === false || (!!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase()))\n const isMutation =\n mutation !== false &&\n !isQuery &&\n difference(mutation ? mutation.methods : [], query ? query.methods : []).some((method) => node.method.toLowerCase() === method.toLowerCase())\n const infiniteOptions = infinite && typeof infinite === 'object' ? infinite : null\n\n if (!isQuery || isMutation || !infiniteOptions) return null\n\n // Validate queryParam exists in operation's query parameters\n const normalizeKey = (key: string) => key.replace(/\\?$/, '')\n const queryParamKeys = getOperationParameters(node).query.map((p) => p.name)\n const hasQueryParam = infiniteOptions.queryParam ? queryParamKeys.some((k) => normalizeKey(k) === infiniteOptions.queryParam) : false\n // cursorParam validation against response schema keys is skipped in v5 (complex schema inspection)\n const hasCursorParam = !infiniteOptions.cursorParam || true\n\n if (!hasQueryParam || !hasCursorParam) return null\n\n const importPath = query ? query.importPath : '@tanstack/vue-query'\n\n const queryName = resolver.resolveInfiniteQueryName(node)\n const queryOptionsName = resolver.resolveInfiniteQueryOptionsName(node)\n const queryKeyName = resolver.resolveInfiniteQueryKeyName(node)\n const queryKeyTypeName = resolver.resolveInfiniteQueryKeyTypeName(node)\n const clientBaseName = resolver.resolveInfiniteClientName(node)\n\n const meta = {\n file: resolver.resolveFile(\n { name: queryName, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n { root, output, group: group ?? undefined },\n ),\n fileTs: tsResolver.resolveFile(\n { name: node.operationId, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n { root, output: pluginTs.options?.output ?? output, group: pluginTs.options?.group ?? undefined },\n ),\n }\n\n const importedTypeNames = resolveOperationTypeNames(node, tsResolver, {\n paramsCasing,\n exclude: [queryKeyTypeName],\n order: 'body-response-first',\n })\n\n const pluginZod = parser === 'zod' ? driver.getPlugin(pluginZodName) : null\n const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : null\n const fileZod = zodResolver\n ? zodResolver.resolveFile(\n { name: node.operationId, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n { root, output: pluginZod?.options?.output ?? output, group: pluginZod?.options?.group ?? undefined },\n )\n : null\n const zodSchemaNames = resolveZodSchemaNames(node, zodResolver)\n\n const clientPlugin = driver.getPlugin(pluginClientName)\n const hasClientPlugin = clientPlugin?.name === pluginClientName\n const shouldUseClientPlugin = hasClientPlugin && clientOptions.clientType !== 'class'\n const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : null\n\n const clientFile = shouldUseClientPlugin\n ? clientResolver?.resolveFile(\n { name: node.operationId, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n {\n root,\n output: clientPlugin?.options?.output ?? output,\n group: clientPlugin?.options?.group ?? undefined,\n },\n )\n : null\n\n const resolvedClientName = shouldUseClientPlugin ? (clientResolver?.resolveName(node.operationId) ?? clientBaseName) : clientBaseName\n\n return (\n <File\n baseName={meta.file.baseName}\n path={meta.file.path}\n meta={meta.file.meta}\n banner={resolver.resolveBanner(ctx.meta, { output, config })}\n footer={resolver.resolveFooter(ctx.meta, { output, config })}\n >\n {fileZod && zodSchemaNames.length > 0 && <File.Import name={zodSchemaNames} root={meta.file.path} path={fileZod.path} />}\n {clientOptions.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={clientOptions.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={clientOptions.importPath} isTypeOnly />\n {clientOptions.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={clientOptions.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['fetch']} root={meta.file.path} path={path.resolve(root, '.kubb/fetch.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={meta.file.path}\n path={path.resolve(root, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {clientOptions.dataReturnType === 'full' && (\n <File.Import name={['ResponseConfig']} root={meta.file.path} path={path.resolve(root, '.kubb/fetch.ts')} isTypeOnly />\n )}\n </>\n )}\n <File.Import name={['toValue']} path=\"vue\" />\n <File.Import name={['MaybeRefOrGetter']} path=\"vue\" isTypeOnly />\n {shouldUseClientPlugin && clientFile && <File.Import name={[resolvedClientName]} root={meta.file.path} path={clientFile.path} />}\n {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={meta.file.path} path={path.resolve(root, '.kubb/config.ts')} />}\n {meta.fileTs && importedTypeNames.length > 0 && (\n <File.Import name={Array.from(new Set(importedTypeNames))} root={meta.file.path} path={meta.fileTs.path} isTypeOnly />\n )}\n\n <QueryKey\n name={queryKeyName}\n typeName={queryKeyTypeName}\n node={node}\n tsResolver={tsResolver}\n pathParamsType={pathParamsType}\n paramsCasing={paramsCasing}\n transformer={ctx.options.queryKey}\n />\n\n {!shouldUseClientPlugin && (\n <Client\n name={resolvedClientName}\n baseURL={clientOptions.baseURL}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n paramsCasing={clientOptions.paramsCasing || paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n parser={parser}\n node={node}\n tsResolver={tsResolver}\n zodResolver={zodResolver}\n />\n )}\n\n <File.Import name={['InfiniteData']} isTypeOnly path={importPath} />\n <File.Import name={['infiniteQueryOptions']} path={importPath} />\n\n <InfiniteQueryOptions\n name={queryOptionsName}\n clientName={resolvedClientName}\n queryKeyName={queryKeyName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n cursorParam={infiniteOptions.cursorParam}\n nextParam={infiniteOptions.nextParam}\n previousParam={infiniteOptions.previousParam}\n initialPageParam={infiniteOptions.initialPageParam}\n queryParam={infiniteOptions.queryParam}\n />\n\n <File.Import name={['useInfiniteQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'UseInfiniteQueryOptions', 'UseInfiniteQueryReturnType']} path={importPath} isTypeOnly />\n\n <InfiniteQuery\n name={queryName}\n queryOptionsName={queryOptionsName}\n queryKeyName={queryKeyName}\n queryKeyTypeName={queryKeyTypeName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n initialPageParam={infiniteOptions.initialPageParam}\n queryParam={infiniteOptions.queryParam}\n />\n </File>\n )\n },\n})\n","import path from 'node:path'\nimport { resolveOperationTypeNames } from '@internals/shared'\nimport { resolveZodSchemaNames } from '@internals/tanstack-query'\nimport { defineGenerator } from '@kubb/core'\nimport { Client, pluginClientName } from '@kubb/plugin-client'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, jsxRendererSync } from '@kubb/renderer-jsx'\nimport { difference } from 'remeda'\nimport { Mutation, MutationKey } from '../components'\nimport type { PluginVueQuery } from '../types'\n\n/**\n * Built-in generator for `useMutation` composables. Emits one\n * `useFooMutation` composable per POST/PUT/DELETE operation (configurable\n * via `mutation.methods`) plus the matching `fooMutationKey` helper.\n */\nexport const mutationGenerator = defineGenerator<PluginVueQuery>({\n name: 'vue-query-mutation',\n renderer: jsxRendererSync,\n operation(node, ctx) {\n const { config, driver, resolver, root } = ctx\n const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options\n\n const pluginTs = driver.getPlugin(pluginTsName)\n if (!pluginTs) return null\n const tsResolver = driver.getResolver(pluginTsName)\n\n const isQuery = query === false || (!!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase()))\n const isMutation =\n mutation !== false &&\n !isQuery &&\n difference(mutation ? mutation.methods : [], query ? query.methods : []).some((method) => node.method.toLowerCase() === method.toLowerCase())\n\n if (!isMutation) return null\n\n const importPath = mutation ? mutation.importPath : '@tanstack/vue-query'\n\n const mutationHookName = resolver.resolveMutationName(node)\n const mutationTypeName = resolver.resolveMutationTypeName(node)\n const mutationKeyName = resolver.resolveMutationKeyName(node)\n const clientName = resolver.resolveClientName(node)\n\n const meta = {\n file: resolver.resolveFile(\n { name: mutationHookName, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n { root, output, group: group ?? undefined },\n ),\n fileTs: tsResolver.resolveFile(\n { name: node.operationId, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n { root, output: pluginTs.options?.output ?? output, group: pluginTs.options?.group ?? undefined },\n ),\n }\n\n const importedTypeNames = resolveOperationTypeNames(node, tsResolver, { paramsCasing, order: 'body-response-first' })\n\n const pluginZod = parser === 'zod' ? driver.getPlugin(pluginZodName) : null\n const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : null\n const fileZod = zodResolver\n ? zodResolver.resolveFile(\n { name: node.operationId, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n { root, output: pluginZod?.options?.output ?? output, group: pluginZod?.options?.group ?? undefined },\n )\n : null\n const zodSchemaNames = resolveZodSchemaNames(node, zodResolver)\n\n const clientPlugin = driver.getPlugin(pluginClientName)\n const hasClientPlugin = clientPlugin?.name === pluginClientName\n const shouldUseClientPlugin = hasClientPlugin && clientOptions.clientType !== 'class'\n const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : null\n\n const clientFile = shouldUseClientPlugin\n ? clientResolver?.resolveFile(\n { name: node.operationId, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n {\n root,\n output: clientPlugin?.options?.output ?? output,\n group: clientPlugin?.options?.group ?? undefined,\n },\n )\n : null\n\n const resolvedClientName = shouldUseClientPlugin ? (clientResolver?.resolveName(node.operationId) ?? clientName) : clientName\n\n return (\n <File\n baseName={meta.file.baseName}\n path={meta.file.path}\n meta={meta.file.meta}\n banner={resolver.resolveBanner(ctx.meta, { output, config })}\n footer={resolver.resolveFooter(ctx.meta, { output, config })}\n >\n {fileZod && zodSchemaNames.length > 0 && <File.Import name={zodSchemaNames} root={meta.file.path} path={fileZod.path} />}\n {clientOptions.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={clientOptions.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={clientOptions.importPath} isTypeOnly />\n {clientOptions.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={clientOptions.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['fetch']} root={meta.file.path} path={path.resolve(root, '.kubb/fetch.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={meta.file.path}\n path={path.resolve(root, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {clientOptions.dataReturnType === 'full' && (\n <File.Import name={['ResponseConfig']} root={meta.file.path} path={path.resolve(root, '.kubb/fetch.ts')} isTypeOnly />\n )}\n </>\n )}\n <File.Import name={['MaybeRefOrGetter']} path=\"vue\" isTypeOnly />\n {shouldUseClientPlugin && clientFile && <File.Import name={[resolvedClientName]} root={meta.file.path} path={clientFile.path} />}\n {!shouldUseClientPlugin && node.requestBody?.content?.some((e) => e.contentType === 'multipart/form-data') && (\n <File.Import name={['buildFormData']} root={meta.file.path} path={path.resolve(root, '.kubb/config.ts')} />\n )}\n {meta.fileTs && importedTypeNames.length > 0 && (\n <File.Import name={Array.from(new Set(importedTypeNames))} root={meta.file.path} path={meta.fileTs.path} isTypeOnly />\n )}\n\n <MutationKey name={mutationKeyName} node={node} pathParamsType={pathParamsType} paramsCasing={paramsCasing} transformer={ctx.options.mutationKey} />\n\n {!shouldUseClientPlugin && (\n <Client\n name={resolvedClientName}\n baseURL={clientOptions.baseURL}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n paramsCasing={clientOptions.paramsCasing || paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n parser={parser}\n node={node}\n tsResolver={tsResolver}\n zodResolver={zodResolver}\n />\n )}\n\n {mutation && (\n <>\n <File.Import name={['useMutation']} path={importPath} />\n <File.Import name={['MutationObserverOptions', 'QueryClient']} path={importPath} isTypeOnly />\n <Mutation\n name={mutationHookName}\n clientName={resolvedClientName}\n typeName={mutationTypeName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n mutationKeyName={mutationKeyName}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import path from 'node:path'\nimport { resolveOperationTypeNames } from '@internals/shared'\nimport { resolveZodSchemaNames } from '@internals/tanstack-query'\nimport { defineGenerator } from '@kubb/core'\nimport { Client, pluginClientName } from '@kubb/plugin-client'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, jsxRendererSync } from '@kubb/renderer-jsx'\nimport { difference } from 'remeda'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginVueQuery } from '../types'\n\n/**\n * Built-in generator for `useQuery` composables. Emits one `useFooQuery`\n * composable per GET operation (configurable via `query.methods`) plus the\n * matching `fooQueryKey` / `fooQueryOptions` helpers.\n */\nexport const queryGenerator = defineGenerator<PluginVueQuery>({\n name: 'vue-query',\n renderer: jsxRendererSync,\n operation(node, ctx) {\n const { config, driver, resolver, root } = ctx\n const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options\n\n const pluginTs = driver.getPlugin(pluginTsName)\n if (!pluginTs) return null\n const tsResolver = driver.getResolver(pluginTsName)\n\n const isQuery = query === false || (!!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase()))\n const isMutation =\n mutation !== false &&\n !isQuery &&\n difference(mutation ? mutation.methods : [], query ? query.methods : []).some((method) => node.method.toLowerCase() === method.toLowerCase())\n\n if (!isQuery || isMutation) return null\n\n const importPath = query ? query.importPath : '@tanstack/vue-query'\n\n const queryName = resolver.resolveQueryName(node)\n const queryOptionsName = resolver.resolveQueryOptionsName(node)\n const queryKeyName = resolver.resolveQueryKeyName(node)\n const queryKeyTypeName = resolver.resolveQueryKeyTypeName(node)\n const clientName = resolver.resolveClientName(node)\n\n const meta = {\n file: resolver.resolveFile(\n { name: queryName, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n { root, output, group: group ?? undefined },\n ),\n fileTs: tsResolver.resolveFile(\n { name: node.operationId, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n { root, output: pluginTs.options?.output ?? output, group: pluginTs.options?.group ?? undefined },\n ),\n }\n\n const importedTypeNames = resolveOperationTypeNames(node, tsResolver, {\n paramsCasing,\n exclude: [queryKeyTypeName],\n order: 'body-response-first',\n })\n\n const pluginZod = parser === 'zod' ? driver.getPlugin(pluginZodName) : null\n const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : null\n const fileZod = zodResolver\n ? zodResolver.resolveFile(\n { name: node.operationId, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n { root, output: pluginZod?.options?.output ?? output, group: pluginZod?.options?.group ?? undefined },\n )\n : null\n const zodSchemaNames = resolveZodSchemaNames(node, zodResolver)\n\n const clientPlugin = driver.getPlugin(pluginClientName)\n const hasClientPlugin = clientPlugin?.name === pluginClientName\n const shouldUseClientPlugin = hasClientPlugin && clientOptions.clientType !== 'class'\n const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : null\n\n const clientFile = shouldUseClientPlugin\n ? clientResolver?.resolveFile(\n { name: node.operationId, extname: '.ts', tag: node.tags[0] ?? 'default', path: node.path },\n {\n root,\n output: clientPlugin?.options?.output ?? output,\n group: clientPlugin?.options?.group ?? undefined,\n },\n )\n : null\n\n const resolvedClientName = shouldUseClientPlugin ? (clientResolver?.resolveName(node.operationId) ?? clientName) : clientName\n\n return (\n <File\n baseName={meta.file.baseName}\n path={meta.file.path}\n meta={meta.file.meta}\n banner={resolver.resolveBanner(ctx.meta, { output, config })}\n footer={resolver.resolveFooter(ctx.meta, { output, config })}\n >\n {fileZod && zodSchemaNames.length > 0 && <File.Import name={zodSchemaNames} root={meta.file.path} path={fileZod.path} />}\n {clientOptions.importPath ? (\n <>\n {!shouldUseClientPlugin && <File.Import name={'fetch'} path={clientOptions.importPath} />}\n <File.Import name={['Client', 'RequestConfig', 'ResponseErrorConfig']} path={clientOptions.importPath} isTypeOnly />\n {clientOptions.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={clientOptions.importPath} isTypeOnly />}\n </>\n ) : (\n <>\n {!shouldUseClientPlugin && <File.Import name={['fetch']} root={meta.file.path} path={path.resolve(root, '.kubb/fetch.ts')} />}\n <File.Import\n name={['Client', 'RequestConfig', 'ResponseErrorConfig']}\n root={meta.file.path}\n path={path.resolve(root, '.kubb/fetch.ts')}\n isTypeOnly\n />\n {clientOptions.dataReturnType === 'full' && (\n <File.Import name={['ResponseConfig']} root={meta.file.path} path={path.resolve(root, '.kubb/fetch.ts')} isTypeOnly />\n )}\n </>\n )}\n <File.Import name={['toValue']} path=\"vue\" />\n <File.Import name={['MaybeRefOrGetter']} path=\"vue\" isTypeOnly />\n {shouldUseClientPlugin && clientFile && <File.Import name={[resolvedClientName]} root={meta.file.path} path={clientFile.path} />}\n {!shouldUseClientPlugin && <File.Import name={['buildFormData']} root={meta.file.path} path={path.resolve(root, '.kubb/config.ts')} />}\n {meta.fileTs && importedTypeNames.length > 0 && (\n <File.Import name={Array.from(new Set(importedTypeNames))} root={meta.file.path} path={meta.fileTs.path} isTypeOnly />\n )}\n\n <QueryKey\n name={queryKeyName}\n typeName={queryKeyTypeName}\n node={node}\n tsResolver={tsResolver}\n pathParamsType={pathParamsType}\n paramsCasing={paramsCasing}\n transformer={ctx.options.queryKey}\n />\n\n {!shouldUseClientPlugin && (\n <Client\n name={resolvedClientName}\n baseURL={clientOptions.baseURL}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n paramsCasing={clientOptions.paramsCasing || paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n parser={parser}\n node={node}\n tsResolver={tsResolver}\n zodResolver={zodResolver}\n />\n )}\n\n <File.Import name={['queryOptions']} path={importPath} />\n\n <QueryOptions\n name={queryOptionsName}\n clientName={resolvedClientName}\n queryKeyName={queryKeyName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n />\n\n {query && (\n <>\n <File.Import name={['useQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'UseQueryOptions', 'UseQueryReturnType']} path={importPath} isTypeOnly />\n <Query\n name={queryName}\n queryOptionsName={queryOptionsName}\n queryKeyName={queryKeyName}\n queryKeyTypeName={queryKeyTypeName}\n node={node}\n tsResolver={tsResolver}\n paramsCasing={paramsCasing}\n paramsType={paramsType}\n pathParamsType={pathParamsType}\n dataReturnType={clientOptions.dataReturnType || 'data'}\n />\n </>\n )}\n </File>\n )\n },\n})\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import "./chunk--u3MIqq1.js";
2
- import { a as QueryOptions, c as resolveZodSchemaNames, d as MutationKey, i as InfiniteQuery, l as getOperationParameters, n as Mutation, o as QueryKey, r as InfiniteQueryOptions, t as Query, u as resolveOperationTypeNames } from "./components-DTSvTMEo.js";
2
+ import { a as QueryOptions, c as resolveZodSchemaNames, d as MutationKey, i as InfiniteQuery, l as getOperationParameters, n as Mutation, o as QueryKey, r as InfiniteQueryOptions, t as Query, u as resolveOperationTypeNames } from "./components-CpTXuQiK.js";
3
3
  import path from "node:path";
4
4
  import { defineGenerator } from "@kubb/core";
5
5
  import { Client, pluginClientName } from "@kubb/plugin-client";
@@ -9,18 +9,24 @@ import { File, jsxRendererSync } from "@kubb/renderer-jsx";
9
9
  import { Fragment, jsx, jsxs } from "@kubb/renderer-jsx/jsx-runtime";
10
10
  import { difference } from "remeda";
11
11
  //#region src/generators/infiniteQueryGenerator.tsx
12
+ /**
13
+ * Built-in generator for `useInfiniteQuery` composables. Enabled when
14
+ * `pluginVueQuery({ infinite: { ... } })`. Emits one `useFooInfiniteQuery`
15
+ * composable per query operation, wiring the configured cursor path into
16
+ * TanStack Query's cursor-based pagination.
17
+ */
12
18
  const infiniteQueryGenerator = defineGenerator({
13
19
  name: "vue-query-infinite",
14
20
  renderer: jsxRendererSync,
15
21
  operation(node, ctx) {
16
- const { config, driver, resolver, root, inputNode } = ctx;
22
+ const { config, driver, resolver, root } = ctx;
17
23
  const { output, query, mutation, infinite, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options;
18
24
  const pluginTs = driver.getPlugin(pluginTsName);
19
25
  if (!pluginTs) return null;
20
26
  const tsResolver = driver.getResolver(pluginTsName);
21
27
  const isQuery = query === false || !!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase());
22
28
  const isMutation = mutation !== false && !isQuery && difference(mutation ? mutation.methods : [], query ? query.methods : []).some((method) => node.method.toLowerCase() === method.toLowerCase());
23
- const infiniteOptions = infinite && typeof infinite === "object" ? infinite : void 0;
29
+ const infiniteOptions = infinite && typeof infinite === "object" ? infinite : null;
24
30
  if (!isQuery || isMutation || !infiniteOptions) return null;
25
31
  const normalizeKey = (key) => key.replace(/\?$/, "");
26
32
  const queryParamKeys = getOperationParameters(node).query.map((p) => p.name);
@@ -42,7 +48,7 @@ const infiniteQueryGenerator = defineGenerator({
42
48
  }, {
43
49
  root,
44
50
  output,
45
- group
51
+ group: group ?? void 0
46
52
  }),
47
53
  fileTs: tsResolver.resolveFile({
48
54
  name: node.operationId,
@@ -52,7 +58,7 @@ const infiniteQueryGenerator = defineGenerator({
52
58
  }, {
53
59
  root,
54
60
  output: pluginTs.options?.output ?? output,
55
- group: pluginTs.options?.group
61
+ group: pluginTs.options?.group ?? void 0
56
62
  })
57
63
  };
58
64
  const importedTypeNames = resolveOperationTypeNames(node, tsResolver, {
@@ -60,8 +66,8 @@ const infiniteQueryGenerator = defineGenerator({
60
66
  exclude: [queryKeyTypeName],
61
67
  order: "body-response-first"
62
68
  });
63
- const pluginZod = parser === "zod" ? driver.getPlugin(pluginZodName) : void 0;
64
- const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : void 0;
69
+ const pluginZod = parser === "zod" ? driver.getPlugin(pluginZodName) : null;
70
+ const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : null;
65
71
  const fileZod = zodResolver ? zodResolver.resolveFile({
66
72
  name: node.operationId,
67
73
  extname: ".ts",
@@ -70,12 +76,12 @@ const infiniteQueryGenerator = defineGenerator({
70
76
  }, {
71
77
  root,
72
78
  output: pluginZod?.options?.output ?? output,
73
- group: pluginZod?.options?.group
74
- }) : void 0;
79
+ group: pluginZod?.options?.group ?? void 0
80
+ }) : null;
75
81
  const zodSchemaNames = resolveZodSchemaNames(node, zodResolver);
76
82
  const clientPlugin = driver.getPlugin(pluginClientName);
77
83
  const shouldUseClientPlugin = clientPlugin?.name === pluginClientName && clientOptions.clientType !== "class";
78
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : void 0;
84
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : null;
79
85
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
80
86
  name: node.operationId,
81
87
  extname: ".ts",
@@ -84,18 +90,18 @@ const infiniteQueryGenerator = defineGenerator({
84
90
  }, {
85
91
  root,
86
92
  output: clientPlugin?.options?.output ?? output,
87
- group: clientPlugin?.options?.group
88
- }) : void 0;
93
+ group: clientPlugin?.options?.group ?? void 0
94
+ }) : null;
89
95
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientBaseName : clientBaseName;
90
96
  return /* @__PURE__ */ jsxs(File, {
91
97
  baseName: meta.file.baseName,
92
98
  path: meta.file.path,
93
99
  meta: meta.file.meta,
94
- banner: resolver.resolveBanner(inputNode, {
100
+ banner: resolver.resolveBanner(ctx.meta, {
95
101
  output,
96
102
  config
97
103
  }),
98
- footer: resolver.resolveFooter(inputNode, {
104
+ footer: resolver.resolveFooter(ctx.meta, {
99
105
  output,
100
106
  config
101
107
  }),
@@ -252,11 +258,16 @@ const infiniteQueryGenerator = defineGenerator({
252
258
  });
253
259
  //#endregion
254
260
  //#region src/generators/mutationGenerator.tsx
261
+ /**
262
+ * Built-in generator for `useMutation` composables. Emits one
263
+ * `useFooMutation` composable per POST/PUT/DELETE operation (configurable
264
+ * via `mutation.methods`) plus the matching `fooMutationKey` helper.
265
+ */
255
266
  const mutationGenerator = defineGenerator({
256
267
  name: "vue-query-mutation",
257
268
  renderer: jsxRendererSync,
258
269
  operation(node, ctx) {
259
- const { config, driver, resolver, root, inputNode } = ctx;
270
+ const { config, driver, resolver, root } = ctx;
260
271
  const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options;
261
272
  const pluginTs = driver.getPlugin(pluginTsName);
262
273
  if (!pluginTs) return null;
@@ -277,7 +288,7 @@ const mutationGenerator = defineGenerator({
277
288
  }, {
278
289
  root,
279
290
  output,
280
- group
291
+ group: group ?? void 0
281
292
  }),
282
293
  fileTs: tsResolver.resolveFile({
283
294
  name: node.operationId,
@@ -287,15 +298,15 @@ const mutationGenerator = defineGenerator({
287
298
  }, {
288
299
  root,
289
300
  output: pluginTs.options?.output ?? output,
290
- group: pluginTs.options?.group
301
+ group: pluginTs.options?.group ?? void 0
291
302
  })
292
303
  };
293
304
  const importedTypeNames = resolveOperationTypeNames(node, tsResolver, {
294
305
  paramsCasing,
295
306
  order: "body-response-first"
296
307
  });
297
- const pluginZod = parser === "zod" ? driver.getPlugin(pluginZodName) : void 0;
298
- const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : void 0;
308
+ const pluginZod = parser === "zod" ? driver.getPlugin(pluginZodName) : null;
309
+ const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : null;
299
310
  const fileZod = zodResolver ? zodResolver.resolveFile({
300
311
  name: node.operationId,
301
312
  extname: ".ts",
@@ -304,12 +315,12 @@ const mutationGenerator = defineGenerator({
304
315
  }, {
305
316
  root,
306
317
  output: pluginZod?.options?.output ?? output,
307
- group: pluginZod?.options?.group
308
- }) : void 0;
318
+ group: pluginZod?.options?.group ?? void 0
319
+ }) : null;
309
320
  const zodSchemaNames = resolveZodSchemaNames(node, zodResolver);
310
321
  const clientPlugin = driver.getPlugin(pluginClientName);
311
322
  const shouldUseClientPlugin = clientPlugin?.name === pluginClientName && clientOptions.clientType !== "class";
312
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : void 0;
323
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : null;
313
324
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
314
325
  name: node.operationId,
315
326
  extname: ".ts",
@@ -318,18 +329,18 @@ const mutationGenerator = defineGenerator({
318
329
  }, {
319
330
  root,
320
331
  output: clientPlugin?.options?.output ?? output,
321
- group: clientPlugin?.options?.group
322
- }) : void 0;
332
+ group: clientPlugin?.options?.group ?? void 0
333
+ }) : null;
323
334
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientName : clientName;
324
335
  return /* @__PURE__ */ jsxs(File, {
325
336
  baseName: meta.file.baseName,
326
337
  path: meta.file.path,
327
338
  meta: meta.file.meta,
328
- banner: resolver.resolveBanner(inputNode, {
339
+ banner: resolver.resolveBanner(ctx.meta, {
329
340
  output,
330
341
  config
331
342
  }),
332
- footer: resolver.resolveFooter(inputNode, {
343
+ footer: resolver.resolveFooter(ctx.meta, {
333
344
  output,
334
345
  config
335
346
  }),
@@ -450,11 +461,16 @@ const mutationGenerator = defineGenerator({
450
461
  });
451
462
  //#endregion
452
463
  //#region src/generators/queryGenerator.tsx
464
+ /**
465
+ * Built-in generator for `useQuery` composables. Emits one `useFooQuery`
466
+ * composable per GET operation (configurable via `query.methods`) plus the
467
+ * matching `fooQueryKey` / `fooQueryOptions` helpers.
468
+ */
453
469
  const queryGenerator = defineGenerator({
454
470
  name: "vue-query",
455
471
  renderer: jsxRendererSync,
456
472
  operation(node, ctx) {
457
- const { config, driver, resolver, root, inputNode } = ctx;
473
+ const { config, driver, resolver, root } = ctx;
458
474
  const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options;
459
475
  const pluginTs = driver.getPlugin(pluginTsName);
460
476
  if (!pluginTs) return null;
@@ -477,7 +493,7 @@ const queryGenerator = defineGenerator({
477
493
  }, {
478
494
  root,
479
495
  output,
480
- group
496
+ group: group ?? void 0
481
497
  }),
482
498
  fileTs: tsResolver.resolveFile({
483
499
  name: node.operationId,
@@ -487,7 +503,7 @@ const queryGenerator = defineGenerator({
487
503
  }, {
488
504
  root,
489
505
  output: pluginTs.options?.output ?? output,
490
- group: pluginTs.options?.group
506
+ group: pluginTs.options?.group ?? void 0
491
507
  })
492
508
  };
493
509
  const importedTypeNames = resolveOperationTypeNames(node, tsResolver, {
@@ -495,8 +511,8 @@ const queryGenerator = defineGenerator({
495
511
  exclude: [queryKeyTypeName],
496
512
  order: "body-response-first"
497
513
  });
498
- const pluginZod = parser === "zod" ? driver.getPlugin(pluginZodName) : void 0;
499
- const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : void 0;
514
+ const pluginZod = parser === "zod" ? driver.getPlugin(pluginZodName) : null;
515
+ const zodResolver = pluginZod ? driver.getResolver(pluginZodName) : null;
500
516
  const fileZod = zodResolver ? zodResolver.resolveFile({
501
517
  name: node.operationId,
502
518
  extname: ".ts",
@@ -505,12 +521,12 @@ const queryGenerator = defineGenerator({
505
521
  }, {
506
522
  root,
507
523
  output: pluginZod?.options?.output ?? output,
508
- group: pluginZod?.options?.group
509
- }) : void 0;
524
+ group: pluginZod?.options?.group ?? void 0
525
+ }) : null;
510
526
  const zodSchemaNames = resolveZodSchemaNames(node, zodResolver);
511
527
  const clientPlugin = driver.getPlugin(pluginClientName);
512
528
  const shouldUseClientPlugin = clientPlugin?.name === pluginClientName && clientOptions.clientType !== "class";
513
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : void 0;
529
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(pluginClientName) : null;
514
530
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
515
531
  name: node.operationId,
516
532
  extname: ".ts",
@@ -519,18 +535,18 @@ const queryGenerator = defineGenerator({
519
535
  }, {
520
536
  root,
521
537
  output: clientPlugin?.options?.output ?? output,
522
- group: clientPlugin?.options?.group
523
- }) : void 0;
538
+ group: clientPlugin?.options?.group ?? void 0
539
+ }) : null;
524
540
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientName : clientName;
525
541
  return /* @__PURE__ */ jsxs(File, {
526
542
  baseName: meta.file.baseName,
527
543
  path: meta.file.path,
528
544
  meta: meta.file.meta,
529
- banner: resolver.resolveBanner(inputNode, {
545
+ banner: resolver.resolveBanner(ctx.meta, {
530
546
  output,
531
547
  config
532
548
  }),
533
- footer: resolver.resolveFooter(inputNode, {
549
+ footer: resolver.resolveFooter(ctx.meta, {
534
550
  output,
535
551
  config
536
552
  }),
@@ -678,4 +694,4 @@ const queryGenerator = defineGenerator({
678
694
  //#endregion
679
695
  export { mutationGenerator as n, infiniteQueryGenerator as r, queryGenerator as t };
680
696
 
681
- //# sourceMappingURL=generators-F6_EduRU.js.map
697
+ //# sourceMappingURL=generators-Cb5_nhMY.js.map