@kubb/plugin-react-query 5.0.0-beta.22 → 5.0.0-beta.27
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.
- package/dist/{components-BTwB9V-K.js → components-CDmg-RPi.js} +82 -63
- package/dist/components-CDmg-RPi.js.map +1 -0
- package/dist/{components-D4SQmw7N.cjs → components-MPBTffPl.cjs} +82 -63
- package/dist/components-MPBTffPl.cjs.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.d.ts +1 -1
- package/dist/components.js +1 -1
- package/dist/{generators-BZ_sX2lp.js → generators-C-cwJah8.js} +97 -57
- package/dist/generators-C-cwJah8.js.map +1 -0
- package/dist/{generators-C4bV7v9Z.cjs → generators-DozEZKwy.cjs} +97 -57
- package/dist/generators-DozEZKwy.cjs.map +1 -0
- package/dist/generators.cjs +1 -1
- package/dist/generators.d.ts +41 -1
- package/dist/generators.js +1 -1
- package/dist/index.cjs +51 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +30 -1
- package/dist/index.js +51 -11
- package/dist/index.js.map +1 -1
- package/dist/{types-DG_OxOym.d.ts → types-DiZPLTXl.d.ts} +92 -55
- package/extension.yaml +904 -325
- package/package.json +7 -7
- package/src/components/InfiniteQuery.tsx +7 -6
- package/src/components/InfiniteQueryOptions.tsx +11 -10
- package/src/components/Mutation.tsx +7 -5
- package/src/components/MutationOptions.tsx +4 -3
- package/src/components/Query.tsx +6 -4
- package/src/components/QueryOptions.tsx +4 -3
- package/src/components/SuspenseInfiniteQuery.tsx +7 -6
- package/src/components/SuspenseInfiniteQueryOptions.tsx +11 -10
- package/src/components/SuspenseQuery.tsx +6 -4
- package/src/generators/customHookOptionsFileGenerator.tsx +7 -1
- package/src/generators/hookOptionsGenerator.tsx +14 -8
- package/src/generators/infiniteQueryGenerator.tsx +19 -10
- package/src/generators/mutationGenerator.tsx +17 -9
- package/src/generators/queryGenerator.tsx +17 -9
- package/src/generators/suspenseInfiniteQueryGenerator.tsx +19 -10
- package/src/generators/suspenseQueryGenerator.tsx +18 -9
- package/src/plugin.ts +34 -5
- package/src/resolvers/resolverReactQuery.ts +15 -4
- package/src/types.ts +89 -52
- package/src/utils.ts +8 -1
- package/dist/components-BTwB9V-K.js.map +0 -1
- package/dist/components-D4SQmw7N.cjs.map +0 -1
- package/dist/generators-BZ_sX2lp.js.map +0 -1
- package/dist/generators-C4bV7v9Z.cjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_components = require("./components-
|
|
1
|
+
const require_components = require("./components-MPBTffPl.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 :
|
|
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 :
|
|
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) :
|
|
323
|
-
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) :
|
|
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
|
-
}) :
|
|
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) :
|
|
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
|
-
}) :
|
|
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) :
|
|
554
|
-
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) :
|
|
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
|
-
}) :
|
|
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) :
|
|
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
|
-
}) :
|
|
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) :
|
|
773
|
-
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) :
|
|
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
|
-
}) :
|
|
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) :
|
|
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
|
-
}) :
|
|
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 :
|
|
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) :
|
|
1002
|
-
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) :
|
|
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
|
-
}) :
|
|
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) :
|
|
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
|
-
}) :
|
|
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) :
|
|
1235
|
-
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) :
|
|
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
|
-
}) :
|
|
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) :
|
|
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
|
-
}) :
|
|
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-
|
|
1494
|
+
//# sourceMappingURL=generators-DozEZKwy.cjs.map
|