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