@kubb/plugin-react-query 5.0.0-beta.22 → 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 (45) hide show
  1. package/dist/{components-D4SQmw7N.cjs → components-C1_zAoAO.cjs} +51 -51
  2. package/dist/components-C1_zAoAO.cjs.map +1 -0
  3. package/dist/{components-BTwB9V-K.js → components-C91DnOOV.js} +51 -51
  4. package/dist/components-C91DnOOV.js.map +1 -0
  5. package/dist/components.cjs +1 -1
  6. package/dist/components.d.ts +1 -1
  7. package/dist/components.js +1 -1
  8. package/dist/{generators-BZ_sX2lp.js → generators-9srJC_zb.js} +97 -57
  9. package/dist/generators-9srJC_zb.js.map +1 -0
  10. package/dist/{generators-C4bV7v9Z.cjs → generators-DS3JH1hR.cjs} +97 -57
  11. package/dist/generators-DS3JH1hR.cjs.map +1 -0
  12. package/dist/generators.cjs +1 -1
  13. package/dist/generators.d.ts +41 -1
  14. package/dist/generators.js +1 -1
  15. package/dist/index.cjs +51 -11
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.ts +30 -1
  18. package/dist/index.js +51 -11
  19. package/dist/index.js.map +1 -1
  20. package/dist/{types-DG_OxOym.d.ts → types-DiZPLTXl.d.ts} +92 -55
  21. package/extension.yaml +904 -325
  22. package/package.json +7 -7
  23. package/src/components/InfiniteQuery.tsx +4 -4
  24. package/src/components/InfiniteQueryOptions.tsx +8 -8
  25. package/src/components/Mutation.tsx +2 -2
  26. package/src/components/MutationOptions.tsx +1 -1
  27. package/src/components/Query.tsx +1 -1
  28. package/src/components/QueryOptions.tsx +1 -1
  29. package/src/components/SuspenseInfiniteQuery.tsx +4 -4
  30. package/src/components/SuspenseInfiniteQueryOptions.tsx +8 -8
  31. package/src/components/SuspenseQuery.tsx +1 -1
  32. package/src/generators/customHookOptionsFileGenerator.tsx +7 -1
  33. package/src/generators/hookOptionsGenerator.tsx +14 -8
  34. package/src/generators/infiniteQueryGenerator.tsx +19 -10
  35. package/src/generators/mutationGenerator.tsx +17 -9
  36. package/src/generators/queryGenerator.tsx +17 -9
  37. package/src/generators/suspenseInfiniteQueryGenerator.tsx +19 -10
  38. package/src/generators/suspenseQueryGenerator.tsx +18 -9
  39. package/src/plugin.ts +34 -5
  40. package/src/resolvers/resolverReactQuery.ts +15 -4
  41. package/src/types.ts +89 -52
  42. package/dist/components-BTwB9V-K.js.map +0 -1
  43. package/dist/components-D4SQmw7N.cjs.map +0 -1
  44. package/dist/generators-BZ_sX2lp.js.map +0 -1
  45. package/dist/generators-C4bV7v9Z.cjs.map +0 -1
@@ -1,4 +1,4 @@
1
- const require_components = require("./components-D4SQmw7N.cjs");
1
+ const require_components = require("./components-C1_zAoAO.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");
@@ -11,6 +11,12 @@ let node_fs = require("node:fs");
11
11
  node_fs = require_components.__toESM(node_fs);
12
12
  let remeda = require("remeda");
13
13
  //#region src/generators/customHookOptionsFileGenerator.tsx
14
+ /**
15
+ * Scaffolds the user-editable `useCustomHookOptions` file when
16
+ * `pluginReactQuery({ customOptions: { ... } })` is configured. The file is
17
+ * only created when it does not already exist, so user edits persist across
18
+ * regeneration.
19
+ */
14
20
  const customHookOptionsFileGenerator = (0, _kubb_core.defineGenerator)({
15
21
  name: "react-query-custom-hook-options-file",
16
22
  renderer: _kubb_renderer_jsx.jsxRendererSync,
@@ -35,7 +41,7 @@ const customHookOptionsFileGenerator = (0, _kubb_core.defineGenerator)({
35
41
  }, {
36
42
  root,
37
43
  output,
38
- group
44
+ group: group ?? void 0
39
45
  }).path;
40
46
  } else hookFilePath = node_path.default.resolve(root, "index.ts");
41
47
  const ensureExtension = (filePath, extname) => {
@@ -102,6 +108,12 @@ const customHookOptionsFileGenerator = (0, _kubb_core.defineGenerator)({
102
108
  });
103
109
  //#endregion
104
110
  //#region src/generators/hookOptionsGenerator.tsx
111
+ /**
112
+ * Emits the `HookOptions` type used by `customOptions`. Enabled when
113
+ * `pluginReactQuery({ customOptions: { ... } })`. The generated type lists
114
+ * every hook keyed by name so user-supplied options stay in sync with the
115
+ * generated hooks at compile time.
116
+ */
105
117
  const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
106
118
  name: "react-query-hook-options",
107
119
  renderer: _kubb_renderer_jsx.jsxRendererSync,
@@ -116,7 +128,7 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
116
128
  }, {
117
129
  root,
118
130
  output,
119
- group
131
+ group: group ?? void 0
120
132
  });
121
133
  const hookOptionsFile = {
122
134
  ...resolvedFile,
@@ -130,7 +142,7 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
130
142
  const nodeQuery = "query" in opOverrides ? opOverrides.query : query;
131
143
  const nodeMutation = "mutation" in opOverrides ? opOverrides.mutation : mutation;
132
144
  const nodeInfinite = "infinite" in opOverrides ? opOverrides.infinite : infinite;
133
- const nodeInfiniteOptions = nodeInfinite && typeof nodeInfinite === "object" ? nodeInfinite : void 0;
145
+ const nodeInfiniteOptions = nodeInfinite && typeof nodeInfinite === "object" ? nodeInfinite : null;
134
146
  const isQueryOp = nodeQuery === false ? !!query && query.methods.some((m) => node.method.toLowerCase() === m.toLowerCase()) : !!nodeQuery && nodeQuery.methods.some((m) => node.method.toLowerCase() === m.toLowerCase());
135
147
  const isMutationOp = nodeMutation !== false && !isQueryOp && (0, remeda.difference)(nodeMutation ? nodeMutation.methods : [], nodeQuery ? nodeQuery.methods : []).some((m) => node.method.toLowerCase() === m.toLowerCase());
136
148
  const isSuspenseOp = !!suspense;
@@ -146,7 +158,7 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
146
158
  }, {
147
159
  root,
148
160
  output,
149
- group
161
+ group: group ?? void 0
150
162
  });
151
163
  imports.push(/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
152
164
  name: [queryOptionsName],
@@ -165,7 +177,7 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
165
177
  }, {
166
178
  root,
167
179
  output,
168
- group
180
+ group: group ?? void 0
169
181
  });
170
182
  imports.push(/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
171
183
  name: [suspenseOptionsName],
@@ -188,7 +200,7 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
188
200
  }, {
189
201
  root,
190
202
  output,
191
- group
203
+ group: group ?? void 0
192
204
  });
193
205
  imports.push(/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
194
206
  name: [infiniteOptionsName],
@@ -207,7 +219,7 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
207
219
  }, {
208
220
  root,
209
221
  output,
210
- group
222
+ group: group ?? void 0
211
223
  });
212
224
  imports.push(/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
213
225
  name: [suspenseInfiniteOptionsName],
@@ -230,7 +242,7 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
230
242
  }, {
231
243
  root,
232
244
  output,
233
- group
245
+ group: group ?? void 0
234
246
  });
235
247
  imports.push(/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
236
248
  name: [mutationOptionsName],
@@ -268,6 +280,12 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
268
280
  });
269
281
  //#endregion
270
282
  //#region src/generators/infiniteQueryGenerator.tsx
283
+ /**
284
+ * Built-in generator for `useInfiniteQuery` hooks. Enabled when
285
+ * `pluginReactQuery({ infinite: { ... } })`. Emits one `useFooInfiniteQuery`
286
+ * hook per query operation, wiring the configured `nextParam` /
287
+ * `previousParam` paths into TanStack Query's cursor-based pagination.
288
+ */
271
289
  const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
272
290
  name: "react-infinite-query",
273
291
  renderer: _kubb_renderer_jsx.jsxRendererSync,
@@ -279,7 +297,7 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
279
297
  const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
280
298
  const isQuery = query === false || !!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase());
281
299
  const isMutation = mutation !== false && !isQuery && (0, remeda.difference)(mutation ? mutation.methods : [], query ? query.methods : []).some((method) => node.method.toLowerCase() === method.toLowerCase());
282
- const infiniteOptions = infinite && typeof infinite === "object" ? infinite : void 0;
300
+ const infiniteOptions = infinite && typeof infinite === "object" ? infinite : null;
283
301
  if (!isQuery || isMutation || !infiniteOptions) return null;
284
302
  const normalizeKey = (key) => key.replace(/\?$/, "");
285
303
  const queryParamKeys = require_components.getOperationParameters(node).query.map((p) => p.name);
@@ -301,7 +319,7 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
301
319
  }, {
302
320
  root,
303
321
  output,
304
- group
322
+ group: group ?? void 0
305
323
  }),
306
324
  fileTs: tsResolver.resolveFile({
307
325
  name: node.operationId,
@@ -311,7 +329,7 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
311
329
  }, {
312
330
  root,
313
331
  output: pluginTs.options?.output ?? output,
314
- group: pluginTs.options?.group
332
+ group: pluginTs.options?.group ?? void 0
315
333
  })
316
334
  };
317
335
  const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
@@ -319,8 +337,8 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
319
337
  exclude: [queryKeyTypeName],
320
338
  order: "body-response-first"
321
339
  });
322
- const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
323
- const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
340
+ const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
341
+ const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
324
342
  const fileZod = zodResolver ? zodResolver.resolveFile({
325
343
  name: node.operationId,
326
344
  extname: ".ts",
@@ -329,12 +347,12 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
329
347
  }, {
330
348
  root,
331
349
  output: pluginZod?.options?.output ?? output,
332
- group: pluginZod?.options?.group
333
- }) : void 0;
350
+ group: pluginZod?.options?.group ?? void 0
351
+ }) : null;
334
352
  const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
335
353
  const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
336
354
  const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
337
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : void 0;
355
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
338
356
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
339
357
  name: node.operationId,
340
358
  extname: ".ts",
@@ -343,8 +361,8 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
343
361
  }, {
344
362
  root,
345
363
  output: clientPlugin?.options?.output ?? output,
346
- group: clientPlugin?.options?.group
347
- }) : void 0;
364
+ group: clientPlugin?.options?.group ?? void 0
365
+ }) : null;
348
366
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientBaseName : clientBaseName;
349
367
  return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
350
368
  baseName: meta.file.baseName,
@@ -507,6 +525,11 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
507
525
  });
508
526
  //#endregion
509
527
  //#region src/generators/mutationGenerator.tsx
528
+ /**
529
+ * Built-in generator for `useMutation` hooks. Emits one `useFooMutation` hook
530
+ * per POST/PUT/DELETE operation (configurable via `mutation.methods`) plus
531
+ * the matching `fooMutationKey` / `fooMutationOptions` helpers.
532
+ */
510
533
  const mutationGenerator = (0, _kubb_core.defineGenerator)({
511
534
  name: "react-query-mutation",
512
535
  renderer: _kubb_renderer_jsx.jsxRendererSync,
@@ -533,7 +556,7 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
533
556
  }, {
534
557
  root,
535
558
  output,
536
- group
559
+ group: group ?? void 0
537
560
  }),
538
561
  fileTs: tsResolver.resolveFile({
539
562
  name: node.operationId,
@@ -543,15 +566,15 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
543
566
  }, {
544
567
  root,
545
568
  output: pluginTs.options?.output ?? output,
546
- group: pluginTs.options?.group
569
+ group: pluginTs.options?.group ?? void 0
547
570
  })
548
571
  };
549
572
  const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
550
573
  paramsCasing,
551
574
  order: "body-response-first"
552
575
  });
553
- const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
554
- const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
576
+ const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
577
+ const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
555
578
  const fileZod = zodResolver ? zodResolver.resolveFile({
556
579
  name: node.operationId,
557
580
  extname: ".ts",
@@ -560,12 +583,12 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
560
583
  }, {
561
584
  root,
562
585
  output: pluginZod?.options?.output ?? output,
563
- group: pluginZod?.options?.group
564
- }) : void 0;
586
+ group: pluginZod?.options?.group ?? void 0
587
+ }) : null;
565
588
  const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
566
589
  const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
567
590
  const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
568
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : void 0;
591
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
569
592
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
570
593
  name: node.operationId,
571
594
  extname: ".ts",
@@ -574,8 +597,8 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
574
597
  }, {
575
598
  root,
576
599
  output: clientPlugin?.options?.output ?? output,
577
- group: clientPlugin?.options?.group
578
- }) : void 0;
600
+ group: clientPlugin?.options?.group ?? void 0
601
+ }) : null;
579
602
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientName : clientName;
580
603
  return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
581
604
  baseName: meta.file.baseName,
@@ -724,6 +747,11 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
724
747
  });
725
748
  //#endregion
726
749
  //#region src/generators/queryGenerator.tsx
750
+ /**
751
+ * Built-in generator for `useQuery` hooks. Emits one `useFooQuery` hook per
752
+ * GET operation (configurable via `query.methods`) plus the matching
753
+ * `fooQueryKey` / `fooQueryOptions` helpers.
754
+ */
727
755
  const queryGenerator = (0, _kubb_core.defineGenerator)({
728
756
  name: "react-query",
729
757
  renderer: _kubb_renderer_jsx.jsxRendererSync,
@@ -751,7 +779,7 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
751
779
  }, {
752
780
  root,
753
781
  output,
754
- group
782
+ group: group ?? void 0
755
783
  }),
756
784
  fileTs: tsResolver.resolveFile({
757
785
  name: node.operationId,
@@ -761,7 +789,7 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
761
789
  }, {
762
790
  root,
763
791
  output: pluginTs.options?.output ?? output,
764
- group: pluginTs.options?.group
792
+ group: pluginTs.options?.group ?? void 0
765
793
  })
766
794
  };
767
795
  const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
@@ -769,8 +797,8 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
769
797
  exclude: [queryKeyTypeName],
770
798
  order: "body-response-first"
771
799
  });
772
- const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
773
- const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
800
+ const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
801
+ const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
774
802
  const fileZod = zodResolver ? zodResolver.resolveFile({
775
803
  name: node.operationId,
776
804
  extname: ".ts",
@@ -779,12 +807,12 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
779
807
  }, {
780
808
  root,
781
809
  output: pluginZod?.options?.output ?? output,
782
- group: pluginZod?.options?.group
783
- }) : void 0;
810
+ group: pluginZod?.options?.group ?? void 0
811
+ }) : null;
784
812
  const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
785
813
  const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
786
814
  const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
787
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : void 0;
815
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
788
816
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
789
817
  name: node.operationId,
790
818
  extname: ".ts",
@@ -793,8 +821,8 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
793
821
  }, {
794
822
  root,
795
823
  output: clientPlugin?.options?.output ?? output,
796
- group: clientPlugin?.options?.group
797
- }) : void 0;
824
+ group: clientPlugin?.options?.group ?? void 0
825
+ }) : null;
798
826
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientName : clientName;
799
827
  return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
800
828
  baseName: meta.file.baseName,
@@ -947,6 +975,12 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
947
975
  });
948
976
  //#endregion
949
977
  //#region src/generators/suspenseInfiniteQueryGenerator.tsx
978
+ /**
979
+ * Built-in generator for `useSuspenseInfiniteQuery` hooks. Enabled when both
980
+ * `suspense` and `infinite` are configured. Combines suspense semantics with
981
+ * cursor-based pagination — handlers throw promises while loading and pull
982
+ * additional pages on demand.
983
+ */
950
984
  const suspenseInfiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
951
985
  name: "react-suspense-infinite-query",
952
986
  renderer: _kubb_renderer_jsx.jsxRendererSync,
@@ -959,7 +993,7 @@ const suspenseInfiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
959
993
  const isQuery = query === false || !!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase());
960
994
  const isMutation = mutation !== false && !isQuery && (0, remeda.difference)(mutation ? mutation.methods : [], query ? query.methods : []).some((method) => node.method.toLowerCase() === method.toLowerCase());
961
995
  const isSuspense = !!suspense;
962
- const infiniteOptions = infinite && typeof infinite === "object" ? infinite : void 0;
996
+ const infiniteOptions = infinite && typeof infinite === "object" ? infinite : null;
963
997
  if (!isQuery || isMutation || !isSuspense || !infiniteOptions) return null;
964
998
  const normalizeKey = (key) => key.replace(/\?$/, "");
965
999
  const queryParamKeys = require_components.getOperationParameters(node).query.map((p) => p.name);
@@ -981,7 +1015,7 @@ const suspenseInfiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
981
1015
  }, {
982
1016
  root,
983
1017
  output,
984
- group
1018
+ group: group ?? void 0
985
1019
  }),
986
1020
  fileTs: tsResolver.resolveFile({
987
1021
  name: node.operationId,
@@ -991,15 +1025,15 @@ const suspenseInfiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
991
1025
  }, {
992
1026
  root,
993
1027
  output: pluginTs.options?.output ?? output,
994
- group: pluginTs.options?.group
1028
+ group: pluginTs.options?.group ?? void 0
995
1029
  })
996
1030
  };
997
1031
  const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
998
1032
  paramsCasing,
999
1033
  order: "body-response-first"
1000
1034
  });
1001
- const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
1002
- const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
1035
+ const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
1036
+ const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
1003
1037
  const fileZod = zodResolver ? zodResolver.resolveFile({
1004
1038
  name: node.operationId,
1005
1039
  extname: ".ts",
@@ -1008,12 +1042,12 @@ const suspenseInfiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
1008
1042
  }, {
1009
1043
  root,
1010
1044
  output: pluginZod?.options?.output ?? output,
1011
- group: pluginZod?.options?.group
1012
- }) : void 0;
1045
+ group: pluginZod?.options?.group ?? void 0
1046
+ }) : null;
1013
1047
  const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
1014
1048
  const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
1015
1049
  const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
1016
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : void 0;
1050
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
1017
1051
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
1018
1052
  name: node.operationId,
1019
1053
  extname: ".ts",
@@ -1022,8 +1056,8 @@ const suspenseInfiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
1022
1056
  }, {
1023
1057
  root,
1024
1058
  output: clientPlugin?.options?.output ?? output,
1025
- group: clientPlugin?.options?.group
1026
- }) : void 0;
1059
+ group: clientPlugin?.options?.group ?? void 0
1060
+ }) : null;
1027
1061
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientBaseName : clientBaseName;
1028
1062
  return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
1029
1063
  baseName: meta.file.baseName,
@@ -1186,6 +1220,12 @@ const suspenseInfiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
1186
1220
  });
1187
1221
  //#endregion
1188
1222
  //#region src/generators/suspenseQueryGenerator.tsx
1223
+ /**
1224
+ * Built-in generator for `useSuspenseQuery` hooks. Enabled when
1225
+ * `pluginReactQuery({ suspense: {} })`. Emits one `useFooSuspenseQuery` hook
1226
+ * per query operation. Suspense queries throw promises while loading and
1227
+ * require a `<Suspense>` boundary in the React tree. TanStack Query v5+ only.
1228
+ */
1189
1229
  const suspenseQueryGenerator = (0, _kubb_core.defineGenerator)({
1190
1230
  name: "react-suspense-query",
1191
1231
  renderer: _kubb_renderer_jsx.jsxRendererSync,
@@ -1213,7 +1253,7 @@ const suspenseQueryGenerator = (0, _kubb_core.defineGenerator)({
1213
1253
  }, {
1214
1254
  root,
1215
1255
  output,
1216
- group
1256
+ group: group ?? void 0
1217
1257
  }),
1218
1258
  fileTs: tsResolver.resolveFile({
1219
1259
  name: node.operationId,
@@ -1223,7 +1263,7 @@ const suspenseQueryGenerator = (0, _kubb_core.defineGenerator)({
1223
1263
  }, {
1224
1264
  root,
1225
1265
  output: pluginTs.options?.output ?? output,
1226
- group: pluginTs.options?.group
1266
+ group: pluginTs.options?.group ?? void 0
1227
1267
  })
1228
1268
  };
1229
1269
  const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
@@ -1231,8 +1271,8 @@ const suspenseQueryGenerator = (0, _kubb_core.defineGenerator)({
1231
1271
  exclude: [queryKeyTypeName],
1232
1272
  order: "body-response-first"
1233
1273
  });
1234
- const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
1235
- const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
1274
+ const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
1275
+ const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
1236
1276
  const fileZod = zodResolver ? zodResolver.resolveFile({
1237
1277
  name: node.operationId,
1238
1278
  extname: ".ts",
@@ -1241,12 +1281,12 @@ const suspenseQueryGenerator = (0, _kubb_core.defineGenerator)({
1241
1281
  }, {
1242
1282
  root,
1243
1283
  output: pluginZod?.options?.output ?? output,
1244
- group: pluginZod?.options?.group
1245
- }) : void 0;
1284
+ group: pluginZod?.options?.group ?? void 0
1285
+ }) : null;
1246
1286
  const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
1247
1287
  const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
1248
1288
  const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
1249
- const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : void 0;
1289
+ const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
1250
1290
  const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
1251
1291
  name: node.operationId,
1252
1292
  extname: ".ts",
@@ -1255,8 +1295,8 @@ const suspenseQueryGenerator = (0, _kubb_core.defineGenerator)({
1255
1295
  }, {
1256
1296
  root,
1257
1297
  output: clientPlugin?.options?.output ?? output,
1258
- group: clientPlugin?.options?.group
1259
- }) : void 0;
1298
+ group: clientPlugin?.options?.group ?? void 0
1299
+ }) : null;
1260
1300
  const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientName : clientName;
1261
1301
  return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
1262
1302
  baseName: meta.file.baseName,
@@ -1451,4 +1491,4 @@ Object.defineProperty(exports, "suspenseQueryGenerator", {
1451
1491
  }
1452
1492
  });
1453
1493
 
1454
- //# sourceMappingURL=generators-C4bV7v9Z.cjs.map
1494
+ //# sourceMappingURL=generators-DS3JH1hR.cjs.map