@kubb/plugin-vue-query 5.0.0-beta.3 → 5.0.0-beta.30
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/README.md +26 -5
- package/dist/{components-D1UhYFgY.js → components-B4IlVmNa.js} +244 -353
- package/dist/components-B4IlVmNa.js.map +1 -0
- package/dist/{components-qfOFRSoM.cjs → components-CIedagno.cjs} +269 -354
- package/dist/components-CIedagno.cjs.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.d.ts +3 -67
- package/dist/components.js +1 -1
- package/dist/{generators-CbnIVBgY.js → generators-ClYptnDj.js} +144 -132
- package/dist/generators-ClYptnDj.js.map +1 -0
- package/dist/{generators-C4gs_P1i.cjs → generators-D7kNtBBo.cjs} +142 -130
- package/dist/generators-D7kNtBBo.cjs.map +1 -0
- package/dist/generators.cjs +1 -1
- package/dist/generators.d.ts +17 -1
- package/dist/generators.js +1 -1
- package/dist/index.cjs +100 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +29 -1
- package/dist/index.js +100 -17
- package/dist/index.js.map +1 -1
- package/dist/types-D-LjzI_Q.d.ts +270 -0
- package/extension.yaml +1273 -0
- package/package.json +16 -18
- package/src/components/InfiniteQuery.tsx +11 -48
- package/src/components/InfiniteQueryOptions.tsx +38 -50
- package/src/components/Mutation.tsx +33 -42
- package/src/components/Query.tsx +11 -49
- package/src/components/QueryKey.tsx +8 -61
- package/src/components/QueryOptions.tsx +14 -67
- package/src/generators/infiniteQueryGenerator.tsx +46 -51
- package/src/generators/mutationGenerator.tsx +41 -49
- package/src/generators/queryGenerator.tsx +43 -49
- package/src/plugin.ts +43 -15
- package/src/resolvers/resolverVueQuery.ts +61 -4
- package/src/types.ts +129 -53
- package/src/utils.ts +44 -25
- package/dist/components-D1UhYFgY.js.map +0 -1
- package/dist/components-qfOFRSoM.cjs.map +0 -1
- package/dist/generators-C4gs_P1i.cjs.map +0 -1
- package/dist/generators-CbnIVBgY.js.map +0 -1
- package/dist/types-nVDTfuS1.d.ts +0 -194
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_components = require("./components-
|
|
1
|
+
const require_components = require("./components-CIedagno.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,32 +9,36 @@ 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
|
-
renderer: _kubb_renderer_jsx.
|
|
20
|
+
renderer: _kubb_renderer_jsx.jsxRendererSync,
|
|
15
21
|
operation(node, ctx) {
|
|
16
|
-
const {
|
|
17
|
-
const { output, query, mutation, infinite, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group
|
|
22
|
+
const { config, driver, resolver, root } = ctx;
|
|
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 :
|
|
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
|
-
const queryParamKeys =
|
|
32
|
+
const queryParamKeys = require_components.getOperationParameters(node).query.map((p) => p.name);
|
|
27
33
|
const hasQueryParam = infiniteOptions.queryParam ? queryParamKeys.some((k) => normalizeKey(k) === infiniteOptions.queryParam) : false;
|
|
28
34
|
const hasCursorParam = !infiniteOptions.cursorParam || true;
|
|
29
35
|
if (!hasQueryParam || !hasCursorParam) return null;
|
|
30
36
|
const importPath = query ? query.importPath : "@tanstack/vue-query";
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const queryKeyTypeName = require_components.transformName(`${capitalize(baseName)}InfiniteQueryKey`, "type", transformers);
|
|
37
|
-
const clientBaseName = require_components.transformName(`${baseName}Infinite`, "function", transformers);
|
|
37
|
+
const queryName = resolver.resolveInfiniteQueryName(node);
|
|
38
|
+
const queryOptionsName = resolver.resolveInfiniteQueryOptionsName(node);
|
|
39
|
+
const queryKeyName = resolver.resolveInfiniteQueryKeyName(node);
|
|
40
|
+
const queryKeyTypeName = resolver.resolveInfiniteQueryKeyTypeName(node);
|
|
41
|
+
const clientBaseName = resolver.resolveInfiniteClientName(node);
|
|
38
42
|
const meta = {
|
|
39
43
|
file: resolver.resolveFile({
|
|
40
44
|
name: queryName,
|
|
@@ -44,7 +48,7 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
44
48
|
}, {
|
|
45
49
|
root,
|
|
46
50
|
output,
|
|
47
|
-
group
|
|
51
|
+
group: group ?? void 0
|
|
48
52
|
}),
|
|
49
53
|
fileTs: tsResolver.resolveFile({
|
|
50
54
|
name: node.operationId,
|
|
@@ -54,23 +58,16 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
54
58
|
}, {
|
|
55
59
|
root,
|
|
56
60
|
output: pluginTs.options?.output ?? output,
|
|
57
|
-
group: pluginTs.options?.group
|
|
61
|
+
group: pluginTs.options?.group ?? void 0
|
|
58
62
|
})
|
|
59
63
|
};
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
...pathParams.map((p) => tsResolver.resolvePathParamsName(node, p)),
|
|
68
|
-
...queryParams.map((p) => tsResolver.resolveQueryParamsName(node, p)),
|
|
69
|
-
...headerParams.map((p) => tsResolver.resolveHeaderParamsName(node, p)),
|
|
70
|
-
...node.responses.map((res) => tsResolver.resolveResponseStatusName(node, res.statusCode))
|
|
71
|
-
].filter((name) => !!name && name !== queryKeyTypeName);
|
|
72
|
-
const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
|
|
73
|
-
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
|
|
64
|
+
const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
|
|
65
|
+
paramsCasing,
|
|
66
|
+
exclude: [queryKeyTypeName],
|
|
67
|
+
order: "body-response-first"
|
|
68
|
+
});
|
|
69
|
+
const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
|
|
70
|
+
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
|
|
74
71
|
const fileZod = zodResolver ? zodResolver.resolveFile({
|
|
75
72
|
name: node.operationId,
|
|
76
73
|
extname: ".ts",
|
|
@@ -79,12 +76,12 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
79
76
|
}, {
|
|
80
77
|
root,
|
|
81
78
|
output: pluginZod?.options?.output ?? output,
|
|
82
|
-
group: pluginZod?.options?.group
|
|
83
|
-
}) :
|
|
84
|
-
const zodSchemaNames =
|
|
79
|
+
group: pluginZod?.options?.group ?? void 0
|
|
80
|
+
}) : null;
|
|
81
|
+
const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
|
|
85
82
|
const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
|
|
86
83
|
const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
|
|
87
|
-
const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) :
|
|
84
|
+
const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
|
|
88
85
|
const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
|
|
89
86
|
name: node.operationId,
|
|
90
87
|
extname: ".ts",
|
|
@@ -93,30 +90,38 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
93
90
|
}, {
|
|
94
91
|
root,
|
|
95
92
|
output: clientPlugin?.options?.output ?? output,
|
|
96
|
-
group: clientPlugin?.options?.group
|
|
97
|
-
}) :
|
|
93
|
+
group: clientPlugin?.options?.group ?? void 0
|
|
94
|
+
}) : null;
|
|
98
95
|
const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientBaseName : clientBaseName;
|
|
99
96
|
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
|
|
100
97
|
baseName: meta.file.baseName,
|
|
101
98
|
path: meta.file.path,
|
|
102
99
|
meta: meta.file.meta,
|
|
103
|
-
banner: resolver.resolveBanner(
|
|
100
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
104
101
|
output,
|
|
105
|
-
config
|
|
102
|
+
config,
|
|
103
|
+
file: {
|
|
104
|
+
path: meta.file.path,
|
|
105
|
+
baseName: meta.file.baseName
|
|
106
|
+
}
|
|
106
107
|
}),
|
|
107
|
-
footer: resolver.resolveFooter(
|
|
108
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
108
109
|
output,
|
|
109
|
-
config
|
|
110
|
+
config,
|
|
111
|
+
file: {
|
|
112
|
+
path: meta.file.path,
|
|
113
|
+
baseName: meta.file.baseName
|
|
114
|
+
}
|
|
110
115
|
}),
|
|
111
116
|
children: [
|
|
112
|
-
|
|
117
|
+
fileZod && zodSchemaNames.length > 0 && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
113
118
|
name: zodSchemaNames,
|
|
114
119
|
root: meta.file.path,
|
|
115
120
|
path: fileZod.path
|
|
116
121
|
}),
|
|
117
122
|
clientOptions.importPath ? /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
118
123
|
!shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
119
|
-
name: "
|
|
124
|
+
name: "client",
|
|
120
125
|
path: clientOptions.importPath
|
|
121
126
|
}),
|
|
122
127
|
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
@@ -135,9 +140,9 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
135
140
|
})
|
|
136
141
|
] }) : /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
137
142
|
!shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
138
|
-
name: ["
|
|
143
|
+
name: ["client"],
|
|
139
144
|
root: meta.file.path,
|
|
140
|
-
path: node_path.default.resolve(root, ".kubb/
|
|
145
|
+
path: node_path.default.resolve(root, ".kubb/client.ts")
|
|
141
146
|
}),
|
|
142
147
|
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
143
148
|
name: [
|
|
@@ -146,13 +151,13 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
146
151
|
"ResponseErrorConfig"
|
|
147
152
|
],
|
|
148
153
|
root: meta.file.path,
|
|
149
|
-
path: node_path.default.resolve(root, ".kubb/
|
|
154
|
+
path: node_path.default.resolve(root, ".kubb/client.ts"),
|
|
150
155
|
isTypeOnly: true
|
|
151
156
|
}),
|
|
152
157
|
clientOptions.dataReturnType === "full" && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
153
158
|
name: ["ResponseConfig"],
|
|
154
159
|
root: meta.file.path,
|
|
155
|
-
path: node_path.default.resolve(root, ".kubb/
|
|
160
|
+
path: node_path.default.resolve(root, ".kubb/client.ts"),
|
|
156
161
|
isTypeOnly: true
|
|
157
162
|
})
|
|
158
163
|
] }),
|
|
@@ -261,24 +266,27 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
261
266
|
});
|
|
262
267
|
//#endregion
|
|
263
268
|
//#region src/generators/mutationGenerator.tsx
|
|
269
|
+
/**
|
|
270
|
+
* Built-in generator for `useMutation` composables. Emits one
|
|
271
|
+
* `useFooMutation` composable per POST/PUT/DELETE operation (configurable
|
|
272
|
+
* via `mutation.methods`) plus the matching `fooMutationKey` helper.
|
|
273
|
+
*/
|
|
264
274
|
const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
265
275
|
name: "vue-query-mutation",
|
|
266
|
-
renderer: _kubb_renderer_jsx.
|
|
276
|
+
renderer: _kubb_renderer_jsx.jsxRendererSync,
|
|
267
277
|
operation(node, ctx) {
|
|
268
|
-
const {
|
|
269
|
-
const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group
|
|
278
|
+
const { config, driver, resolver, root } = ctx;
|
|
279
|
+
const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options;
|
|
270
280
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
271
281
|
if (!pluginTs) return null;
|
|
272
282
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
273
283
|
const isQuery = query === false || !!query && query.methods.some((method) => node.method.toLowerCase() === method.toLowerCase());
|
|
274
284
|
if (!(mutation !== false && !isQuery && (0, remeda.difference)(mutation ? mutation.methods : [], query ? query.methods : []).some((method) => node.method.toLowerCase() === method.toLowerCase()))) return null;
|
|
275
285
|
const importPath = mutation ? mutation.importPath : "@tanstack/vue-query";
|
|
276
|
-
const
|
|
277
|
-
const
|
|
278
|
-
const
|
|
279
|
-
const
|
|
280
|
-
const mutationKeyName = require_components.transformName(`${baseName}MutationKey`, "const", transformers);
|
|
281
|
-
const clientName = require_components.transformName(baseName, "function", transformers);
|
|
286
|
+
const mutationHookName = resolver.resolveMutationName(node);
|
|
287
|
+
const mutationTypeName = resolver.resolveMutationTypeName(node);
|
|
288
|
+
const mutationKeyName = resolver.resolveMutationKeyName(node);
|
|
289
|
+
const clientName = resolver.resolveClientName(node);
|
|
282
290
|
const meta = {
|
|
283
291
|
file: resolver.resolveFile({
|
|
284
292
|
name: mutationHookName,
|
|
@@ -288,7 +296,7 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
288
296
|
}, {
|
|
289
297
|
root,
|
|
290
298
|
output,
|
|
291
|
-
group
|
|
299
|
+
group: group ?? void 0
|
|
292
300
|
}),
|
|
293
301
|
fileTs: tsResolver.resolveFile({
|
|
294
302
|
name: node.operationId,
|
|
@@ -298,23 +306,15 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
298
306
|
}, {
|
|
299
307
|
root,
|
|
300
308
|
output: pluginTs.options?.output ?? output,
|
|
301
|
-
group: pluginTs.options?.group
|
|
309
|
+
group: pluginTs.options?.group ?? void 0
|
|
302
310
|
})
|
|
303
311
|
};
|
|
304
|
-
const
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
const
|
|
309
|
-
|
|
310
|
-
tsResolver.resolveResponseName(node),
|
|
311
|
-
...pathParams.map((p) => tsResolver.resolvePathParamsName(node, p)),
|
|
312
|
-
...queryParams.map((p) => tsResolver.resolveQueryParamsName(node, p)),
|
|
313
|
-
...headerParams.map((p) => tsResolver.resolveHeaderParamsName(node, p)),
|
|
314
|
-
...node.responses.map((res) => tsResolver.resolveResponseStatusName(node, res.statusCode))
|
|
315
|
-
].filter((name) => !!name);
|
|
316
|
-
const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
|
|
317
|
-
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
|
|
312
|
+
const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
|
|
313
|
+
paramsCasing,
|
|
314
|
+
order: "body-response-first"
|
|
315
|
+
});
|
|
316
|
+
const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
|
|
317
|
+
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
|
|
318
318
|
const fileZod = zodResolver ? zodResolver.resolveFile({
|
|
319
319
|
name: node.operationId,
|
|
320
320
|
extname: ".ts",
|
|
@@ -323,12 +323,12 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
323
323
|
}, {
|
|
324
324
|
root,
|
|
325
325
|
output: pluginZod?.options?.output ?? output,
|
|
326
|
-
group: pluginZod?.options?.group
|
|
327
|
-
}) :
|
|
328
|
-
const zodSchemaNames =
|
|
326
|
+
group: pluginZod?.options?.group ?? void 0
|
|
327
|
+
}) : null;
|
|
328
|
+
const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
|
|
329
329
|
const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
|
|
330
330
|
const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
|
|
331
|
-
const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) :
|
|
331
|
+
const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
|
|
332
332
|
const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
|
|
333
333
|
name: node.operationId,
|
|
334
334
|
extname: ".ts",
|
|
@@ -337,30 +337,38 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
337
337
|
}, {
|
|
338
338
|
root,
|
|
339
339
|
output: clientPlugin?.options?.output ?? output,
|
|
340
|
-
group: clientPlugin?.options?.group
|
|
341
|
-
}) :
|
|
340
|
+
group: clientPlugin?.options?.group ?? void 0
|
|
341
|
+
}) : null;
|
|
342
342
|
const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientName : clientName;
|
|
343
343
|
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
|
|
344
344
|
baseName: meta.file.baseName,
|
|
345
345
|
path: meta.file.path,
|
|
346
346
|
meta: meta.file.meta,
|
|
347
|
-
banner: resolver.resolveBanner(
|
|
347
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
348
348
|
output,
|
|
349
|
-
config
|
|
349
|
+
config,
|
|
350
|
+
file: {
|
|
351
|
+
path: meta.file.path,
|
|
352
|
+
baseName: meta.file.baseName
|
|
353
|
+
}
|
|
350
354
|
}),
|
|
351
|
-
footer: resolver.resolveFooter(
|
|
355
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
352
356
|
output,
|
|
353
|
-
config
|
|
357
|
+
config,
|
|
358
|
+
file: {
|
|
359
|
+
path: meta.file.path,
|
|
360
|
+
baseName: meta.file.baseName
|
|
361
|
+
}
|
|
354
362
|
}),
|
|
355
363
|
children: [
|
|
356
|
-
|
|
364
|
+
fileZod && zodSchemaNames.length > 0 && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
357
365
|
name: zodSchemaNames,
|
|
358
366
|
root: meta.file.path,
|
|
359
367
|
path: fileZod.path
|
|
360
368
|
}),
|
|
361
369
|
clientOptions.importPath ? /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
362
370
|
!shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
363
|
-
name: "
|
|
371
|
+
name: "client",
|
|
364
372
|
path: clientOptions.importPath
|
|
365
373
|
}),
|
|
366
374
|
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
@@ -379,9 +387,9 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
379
387
|
})
|
|
380
388
|
] }) : /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
381
389
|
!shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
382
|
-
name: ["
|
|
390
|
+
name: ["client"],
|
|
383
391
|
root: meta.file.path,
|
|
384
|
-
path: node_path.default.resolve(root, ".kubb/
|
|
392
|
+
path: node_path.default.resolve(root, ".kubb/client.ts")
|
|
385
393
|
}),
|
|
386
394
|
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
387
395
|
name: [
|
|
@@ -390,13 +398,13 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
390
398
|
"ResponseErrorConfig"
|
|
391
399
|
],
|
|
392
400
|
root: meta.file.path,
|
|
393
|
-
path: node_path.default.resolve(root, ".kubb/
|
|
401
|
+
path: node_path.default.resolve(root, ".kubb/client.ts"),
|
|
394
402
|
isTypeOnly: true
|
|
395
403
|
}),
|
|
396
404
|
clientOptions.dataReturnType === "full" && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
397
405
|
name: ["ResponseConfig"],
|
|
398
406
|
root: meta.file.path,
|
|
399
|
-
path: node_path.default.resolve(root, ".kubb/
|
|
407
|
+
path: node_path.default.resolve(root, ".kubb/client.ts"),
|
|
400
408
|
isTypeOnly: true
|
|
401
409
|
})
|
|
402
410
|
] }),
|
|
@@ -410,7 +418,7 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
410
418
|
root: meta.file.path,
|
|
411
419
|
path: clientFile.path
|
|
412
420
|
}),
|
|
413
|
-
!shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
421
|
+
!shouldUseClientPlugin && node.requestBody?.content?.some((e) => e.contentType === "multipart/form-data") && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
414
422
|
name: ["buildFormData"],
|
|
415
423
|
root: meta.file.path,
|
|
416
424
|
path: node_path.default.resolve(root, ".kubb/config.ts")
|
|
@@ -469,12 +477,17 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
469
477
|
});
|
|
470
478
|
//#endregion
|
|
471
479
|
//#region src/generators/queryGenerator.tsx
|
|
480
|
+
/**
|
|
481
|
+
* Built-in generator for `useQuery` composables. Emits one `useFooQuery`
|
|
482
|
+
* composable per GET operation (configurable via `query.methods`) plus the
|
|
483
|
+
* matching `fooQueryKey` / `fooQueryOptions` helpers.
|
|
484
|
+
*/
|
|
472
485
|
const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
473
486
|
name: "vue-query",
|
|
474
|
-
renderer: _kubb_renderer_jsx.
|
|
487
|
+
renderer: _kubb_renderer_jsx.jsxRendererSync,
|
|
475
488
|
operation(node, ctx) {
|
|
476
|
-
const {
|
|
477
|
-
const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group
|
|
489
|
+
const { config, driver, resolver, root } = ctx;
|
|
490
|
+
const { output, query, mutation, paramsCasing, paramsType, pathParamsType, parser, client: clientOptions, group } = ctx.options;
|
|
478
491
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
479
492
|
if (!pluginTs) return null;
|
|
480
493
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
@@ -482,13 +495,11 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
482
495
|
const isMutation = mutation !== false && !isQuery && (0, remeda.difference)(mutation ? mutation.methods : [], query ? query.methods : []).some((method) => node.method.toLowerCase() === method.toLowerCase());
|
|
483
496
|
if (!isQuery || isMutation) return null;
|
|
484
497
|
const importPath = query ? query.importPath : "@tanstack/vue-query";
|
|
485
|
-
const
|
|
486
|
-
const
|
|
487
|
-
const
|
|
488
|
-
const
|
|
489
|
-
const
|
|
490
|
-
const queryKeyTypeName = require_components.transformName(`${capitalize(baseName)}QueryKey`, "type", transformers);
|
|
491
|
-
const clientName = require_components.transformName(baseName, "function", transformers);
|
|
498
|
+
const queryName = resolver.resolveQueryName(node);
|
|
499
|
+
const queryOptionsName = resolver.resolveQueryOptionsName(node);
|
|
500
|
+
const queryKeyName = resolver.resolveQueryKeyName(node);
|
|
501
|
+
const queryKeyTypeName = resolver.resolveQueryKeyTypeName(node);
|
|
502
|
+
const clientName = resolver.resolveClientName(node);
|
|
492
503
|
const meta = {
|
|
493
504
|
file: resolver.resolveFile({
|
|
494
505
|
name: queryName,
|
|
@@ -498,7 +509,7 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
498
509
|
}, {
|
|
499
510
|
root,
|
|
500
511
|
output,
|
|
501
|
-
group
|
|
512
|
+
group: group ?? void 0
|
|
502
513
|
}),
|
|
503
514
|
fileTs: tsResolver.resolveFile({
|
|
504
515
|
name: node.operationId,
|
|
@@ -508,23 +519,16 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
508
519
|
}, {
|
|
509
520
|
root,
|
|
510
521
|
output: pluginTs.options?.output ?? output,
|
|
511
|
-
group: pluginTs.options?.group
|
|
522
|
+
group: pluginTs.options?.group ?? void 0
|
|
512
523
|
})
|
|
513
524
|
};
|
|
514
|
-
const
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
...pathParams.map((p) => tsResolver.resolvePathParamsName(node, p)),
|
|
522
|
-
...queryParams.map((p) => tsResolver.resolveQueryParamsName(node, p)),
|
|
523
|
-
...headerParams.map((p) => tsResolver.resolveHeaderParamsName(node, p)),
|
|
524
|
-
...node.responses.map((res) => tsResolver.resolveResponseStatusName(node, res.statusCode))
|
|
525
|
-
].filter((name) => !!name && name !== queryKeyTypeName);
|
|
526
|
-
const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : void 0;
|
|
527
|
-
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : void 0;
|
|
525
|
+
const importedTypeNames = require_components.resolveOperationTypeNames(node, tsResolver, {
|
|
526
|
+
paramsCasing,
|
|
527
|
+
exclude: [queryKeyTypeName],
|
|
528
|
+
order: "body-response-first"
|
|
529
|
+
});
|
|
530
|
+
const pluginZod = parser === "zod" ? driver.getPlugin(_kubb_plugin_zod.pluginZodName) : null;
|
|
531
|
+
const zodResolver = pluginZod ? driver.getResolver(_kubb_plugin_zod.pluginZodName) : null;
|
|
528
532
|
const fileZod = zodResolver ? zodResolver.resolveFile({
|
|
529
533
|
name: node.operationId,
|
|
530
534
|
extname: ".ts",
|
|
@@ -533,12 +537,12 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
533
537
|
}, {
|
|
534
538
|
root,
|
|
535
539
|
output: pluginZod?.options?.output ?? output,
|
|
536
|
-
group: pluginZod?.options?.group
|
|
537
|
-
}) :
|
|
538
|
-
const zodSchemaNames =
|
|
540
|
+
group: pluginZod?.options?.group ?? void 0
|
|
541
|
+
}) : null;
|
|
542
|
+
const zodSchemaNames = require_components.resolveZodSchemaNames(node, zodResolver);
|
|
539
543
|
const clientPlugin = driver.getPlugin(_kubb_plugin_client.pluginClientName);
|
|
540
544
|
const shouldUseClientPlugin = clientPlugin?.name === _kubb_plugin_client.pluginClientName && clientOptions.clientType !== "class";
|
|
541
|
-
const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) :
|
|
545
|
+
const clientResolver = shouldUseClientPlugin ? driver.getResolver(_kubb_plugin_client.pluginClientName) : null;
|
|
542
546
|
const clientFile = shouldUseClientPlugin ? clientResolver?.resolveFile({
|
|
543
547
|
name: node.operationId,
|
|
544
548
|
extname: ".ts",
|
|
@@ -547,30 +551,38 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
547
551
|
}, {
|
|
548
552
|
root,
|
|
549
553
|
output: clientPlugin?.options?.output ?? output,
|
|
550
|
-
group: clientPlugin?.options?.group
|
|
551
|
-
}) :
|
|
554
|
+
group: clientPlugin?.options?.group ?? void 0
|
|
555
|
+
}) : null;
|
|
552
556
|
const resolvedClientName = shouldUseClientPlugin ? clientResolver?.resolveName(node.operationId) ?? clientName : clientName;
|
|
553
557
|
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx.File, {
|
|
554
558
|
baseName: meta.file.baseName,
|
|
555
559
|
path: meta.file.path,
|
|
556
560
|
meta: meta.file.meta,
|
|
557
|
-
banner: resolver.resolveBanner(
|
|
561
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
558
562
|
output,
|
|
559
|
-
config
|
|
563
|
+
config,
|
|
564
|
+
file: {
|
|
565
|
+
path: meta.file.path,
|
|
566
|
+
baseName: meta.file.baseName
|
|
567
|
+
}
|
|
560
568
|
}),
|
|
561
|
-
footer: resolver.resolveFooter(
|
|
569
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
562
570
|
output,
|
|
563
|
-
config
|
|
571
|
+
config,
|
|
572
|
+
file: {
|
|
573
|
+
path: meta.file.path,
|
|
574
|
+
baseName: meta.file.baseName
|
|
575
|
+
}
|
|
564
576
|
}),
|
|
565
577
|
children: [
|
|
566
|
-
|
|
578
|
+
fileZod && zodSchemaNames.length > 0 && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
567
579
|
name: zodSchemaNames,
|
|
568
580
|
root: meta.file.path,
|
|
569
581
|
path: fileZod.path
|
|
570
582
|
}),
|
|
571
583
|
clientOptions.importPath ? /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
572
584
|
!shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
573
|
-
name: "
|
|
585
|
+
name: "client",
|
|
574
586
|
path: clientOptions.importPath
|
|
575
587
|
}),
|
|
576
588
|
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
@@ -589,9 +601,9 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
589
601
|
})
|
|
590
602
|
] }) : /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
591
603
|
!shouldUseClientPlugin && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
592
|
-
name: ["
|
|
604
|
+
name: ["client"],
|
|
593
605
|
root: meta.file.path,
|
|
594
|
-
path: node_path.default.resolve(root, ".kubb/
|
|
606
|
+
path: node_path.default.resolve(root, ".kubb/client.ts")
|
|
595
607
|
}),
|
|
596
608
|
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
597
609
|
name: [
|
|
@@ -600,13 +612,13 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
600
612
|
"ResponseErrorConfig"
|
|
601
613
|
],
|
|
602
614
|
root: meta.file.path,
|
|
603
|
-
path: node_path.default.resolve(root, ".kubb/
|
|
615
|
+
path: node_path.default.resolve(root, ".kubb/client.ts"),
|
|
604
616
|
isTypeOnly: true
|
|
605
617
|
}),
|
|
606
618
|
clientOptions.dataReturnType === "full" && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
607
619
|
name: ["ResponseConfig"],
|
|
608
620
|
root: meta.file.path,
|
|
609
|
-
path: node_path.default.resolve(root, ".kubb/
|
|
621
|
+
path: node_path.default.resolve(root, ".kubb/client.ts"),
|
|
610
622
|
isTypeOnly: true
|
|
611
623
|
})
|
|
612
624
|
] }),
|
|
@@ -723,4 +735,4 @@ Object.defineProperty(exports, "queryGenerator", {
|
|
|
723
735
|
}
|
|
724
736
|
});
|
|
725
737
|
|
|
726
|
-
//# sourceMappingURL=generators-
|
|
738
|
+
//# sourceMappingURL=generators-D7kNtBBo.cjs.map
|