@kubb/plugin-react-query 3.0.0-alpha.29 → 3.0.0-alpha.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/dist/{chunk-ZX7YSD2Z.js → chunk-2D27Y6L5.js} +32 -39
- package/dist/chunk-2D27Y6L5.js.map +1 -0
- package/dist/{chunk-3YF2GYGX.cjs → chunk-JW3GZUSC.cjs} +31 -39
- package/dist/chunk-JW3GZUSC.cjs.map +1 -0
- package/dist/generators.cjs +5 -5
- package/dist/generators.js +1 -1
- package/dist/index.cjs +15 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -18
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
- package/src/generators/infiniteQueryGenerator.tsx +4 -5
- package/src/generators/mutationGenerator.tsx +3 -6
- package/src/generators/queryGenerator.tsx +4 -5
- package/src/generators/suspenseQueryGenerator.tsx +4 -5
- package/src/plugin.ts +13 -17
- package/dist/chunk-3YF2GYGX.cjs.map +0 -1
- package/dist/chunk-ZX7YSD2Z.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Client, Operations, QueryKey, QueryOptions, Query, MutationKey, Mutation, InfiniteQueryOptions, InfiniteQuery, SuspenseQuery } from './chunk-Y3DM2P6L.js';
|
|
2
|
-
import
|
|
2
|
+
import { camelCase } from '@kubb/core/transformers';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { createPlugin, FileManager, PluginManager } from '@kubb/core';
|
|
5
5
|
import { renderTemplate } from '@kubb/core/utils';
|
|
@@ -34,11 +34,10 @@ var clientGenerator = createReactGenerator({
|
|
|
34
34
|
return /* @__PURE__ */ jsxs(File, { baseName: client.file.baseName, path: client.file.path, meta: client.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
35
35
|
/* @__PURE__ */ jsx(File.Import, { name: "client", path: options.importPath }),
|
|
36
36
|
/* @__PURE__ */ jsx(File.Import, { name: ["RequestConfig"], path: options.importPath, isTypeOnly: true }),
|
|
37
|
-
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, {
|
|
37
|
+
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, { name: [zod.schemas.response.name], root: client.file.path, path: zod.file.path }),
|
|
38
38
|
/* @__PURE__ */ jsx(
|
|
39
39
|
File.Import,
|
|
40
40
|
{
|
|
41
|
-
extName: output?.extName,
|
|
42
41
|
name: [
|
|
43
42
|
type.schemas.request?.name,
|
|
44
43
|
type.schemas.response.name,
|
|
@@ -78,7 +77,7 @@ var operationsGenerator = createReactGenerator({
|
|
|
78
77
|
}
|
|
79
78
|
} = useApp();
|
|
80
79
|
const name = "operations";
|
|
81
|
-
const file = pluginManager.getFile({ name,
|
|
80
|
+
const file = pluginManager.getFile({ name, extname: ".ts", pluginKey: [pluginClientName] });
|
|
82
81
|
return /* @__PURE__ */ jsx(File, { baseName: file.baseName, path: file.path, meta: file.meta, banner: output?.banner, footer: output?.footer, children: /* @__PURE__ */ jsx(Operations, { name, operations }) });
|
|
83
82
|
}
|
|
84
83
|
});
|
|
@@ -87,7 +86,7 @@ var operationsGenerator = createReactGenerator({
|
|
|
87
86
|
var pluginClientName = "plugin-client";
|
|
88
87
|
createPlugin((options) => {
|
|
89
88
|
const {
|
|
90
|
-
output = { path: "clients" },
|
|
89
|
+
output = { path: "clients", barrelType: "named" },
|
|
91
90
|
group,
|
|
92
91
|
exclude = [],
|
|
93
92
|
include,
|
|
@@ -105,7 +104,6 @@ createPlugin((options) => {
|
|
|
105
104
|
name: pluginClientName,
|
|
106
105
|
options: {
|
|
107
106
|
output: {
|
|
108
|
-
exportType: "barrelNamed",
|
|
109
107
|
...output
|
|
110
108
|
},
|
|
111
109
|
parser,
|
|
@@ -158,18 +156,17 @@ createPlugin((options) => {
|
|
|
158
156
|
);
|
|
159
157
|
const files = await operationGenerator.build(...generators);
|
|
160
158
|
await this.addFile(...files);
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}
|
|
159
|
+
const barrelFiles = await this.fileManager.getBarrelFiles({
|
|
160
|
+
type: output.barrelType ?? "named",
|
|
161
|
+
root,
|
|
162
|
+
output,
|
|
163
|
+
files: this.fileManager.files,
|
|
164
|
+
meta: {
|
|
165
|
+
pluginKey: this.plugin.key
|
|
166
|
+
},
|
|
167
|
+
logger: this.logger
|
|
168
|
+
});
|
|
169
|
+
await this.addFile(...barrelFiles);
|
|
173
170
|
}
|
|
174
171
|
};
|
|
175
172
|
});
|
|
@@ -193,11 +190,11 @@ var queryGenerator = createReactGenerator({
|
|
|
193
190
|
name: getName(operation, { type: "function", pluginKey: [pluginClientName] })
|
|
194
191
|
};
|
|
195
192
|
const queryOptions = {
|
|
196
|
-
name:
|
|
193
|
+
name: getName(operation, { type: "function", suffix: "QueryOptions" })
|
|
197
194
|
};
|
|
198
195
|
const queryKey = {
|
|
199
|
-
name:
|
|
200
|
-
typeName:
|
|
196
|
+
name: getName(operation, { type: "const", suffix: "QueryKey" }),
|
|
197
|
+
typeName: getName(operation, { type: "type", suffix: "QueryKey" })
|
|
201
198
|
};
|
|
202
199
|
const type = {
|
|
203
200
|
file: getFile(operation, { pluginKey: [pluginTsName] }),
|
|
@@ -212,7 +209,7 @@ var queryGenerator = createReactGenerator({
|
|
|
212
209
|
return null;
|
|
213
210
|
}
|
|
214
211
|
return /* @__PURE__ */ jsxs(File, { baseName: query.file.baseName, path: query.file.path, meta: query.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
215
|
-
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, {
|
|
212
|
+
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, { name: [zod.schemas.response.name], root: query.file.path, path: zod.file.path }),
|
|
216
213
|
/* @__PURE__ */ jsx(File.Import, { name: ["useQuery", "queryOptions"], path: options.query.importPath }),
|
|
217
214
|
/* @__PURE__ */ jsx(File.Import, { name: ["QueryKey", "WithRequired", "QueryObserverOptions", "UseQueryResult"], path: options.query.importPath, isTypeOnly: true }),
|
|
218
215
|
/* @__PURE__ */ jsx(File.Import, { name: "client", path: options.client.importPath }),
|
|
@@ -221,7 +218,6 @@ var queryGenerator = createReactGenerator({
|
|
|
221
218
|
/* @__PURE__ */ jsx(
|
|
222
219
|
File.Import,
|
|
223
220
|
{
|
|
224
|
-
extName: output?.extName,
|
|
225
221
|
name: [
|
|
226
222
|
type.schemas.request?.name,
|
|
227
223
|
type.schemas.response.name,
|
|
@@ -316,14 +312,14 @@ var mutationGenerator = createReactGenerator({
|
|
|
316
312
|
name: getName(operation, { type: "function", pluginKey: [pluginClientName] })
|
|
317
313
|
};
|
|
318
314
|
const mutationKey = {
|
|
319
|
-
name:
|
|
320
|
-
typeName:
|
|
315
|
+
name: getName(operation, { type: "const", suffix: "MutationKey" }),
|
|
316
|
+
typeName: getName(operation, { type: "type", suffix: "MutationKey" })
|
|
321
317
|
};
|
|
322
318
|
if (!isMutation || typeof options.mutation === "boolean") {
|
|
323
319
|
return null;
|
|
324
320
|
}
|
|
325
321
|
return /* @__PURE__ */ jsxs(File, { baseName: mutation.file.baseName, path: mutation.file.path, meta: mutation.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
326
|
-
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, {
|
|
322
|
+
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, { name: [zod.schemas.response.name], root: mutation.file.path, path: zod.file.path }),
|
|
327
323
|
/* @__PURE__ */ jsx(File.Import, { name: ["useMutation"], path: options.mutation.importPath }),
|
|
328
324
|
/* @__PURE__ */ jsx(File.Import, { name: ["UseMutationOptions"], path: options.mutation.importPath, isTypeOnly: true }),
|
|
329
325
|
/* @__PURE__ */ jsx(File.Import, { name: "client", path: options.client.importPath }),
|
|
@@ -331,7 +327,6 @@ var mutationGenerator = createReactGenerator({
|
|
|
331
327
|
/* @__PURE__ */ jsx(
|
|
332
328
|
File.Import,
|
|
333
329
|
{
|
|
334
|
-
extName: output?.extName,
|
|
335
330
|
name: [
|
|
336
331
|
type.schemas.request?.name,
|
|
337
332
|
type.schemas.response.name,
|
|
@@ -407,11 +402,11 @@ var infiniteQueryGenerator = createReactGenerator({
|
|
|
407
402
|
name: getName(operation, { type: "function", pluginKey: [pluginClientName] })
|
|
408
403
|
};
|
|
409
404
|
const queryOptions = {
|
|
410
|
-
name:
|
|
405
|
+
name: getName(operation, { type: "function", suffix: "InfiniteQueryOptions" })
|
|
411
406
|
};
|
|
412
407
|
const queryKey = {
|
|
413
|
-
name:
|
|
414
|
-
typeName:
|
|
408
|
+
name: getName(operation, { type: "const", suffix: "InfiniteQueryKey" }),
|
|
409
|
+
typeName: getName(operation, { type: "type", suffix: "InfiniteQueryKey" })
|
|
415
410
|
};
|
|
416
411
|
const type = {
|
|
417
412
|
file: getFile(operation, { pluginKey: [pluginTsName] }),
|
|
@@ -426,7 +421,7 @@ var infiniteQueryGenerator = createReactGenerator({
|
|
|
426
421
|
return null;
|
|
427
422
|
}
|
|
428
423
|
return /* @__PURE__ */ jsxs(File, { baseName: query.file.baseName, path: query.file.path, meta: query.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
429
|
-
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, {
|
|
424
|
+
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, { name: [zod.schemas.response.name], root: query.file.path, path: zod.file.path }),
|
|
430
425
|
/* @__PURE__ */ jsx(File.Import, { name: ["useInfiniteQuery", "infiniteQueryOptions"], path: options.query.importPath }),
|
|
431
426
|
/* @__PURE__ */ jsx(File.Import, { name: ["QueryKey", "WithRequired", "InfiniteQueryObserverOptions", "UseInfiniteQueryResult"], path: options.query.importPath, isTypeOnly: true }),
|
|
432
427
|
/* @__PURE__ */ jsx(File.Import, { name: "client", path: options.client.importPath }),
|
|
@@ -435,7 +430,6 @@ var infiniteQueryGenerator = createReactGenerator({
|
|
|
435
430
|
/* @__PURE__ */ jsx(
|
|
436
431
|
File.Import,
|
|
437
432
|
{
|
|
438
|
-
extName: output?.extName,
|
|
439
433
|
name: [
|
|
440
434
|
type.schemas.request?.name,
|
|
441
435
|
type.schemas.response.name,
|
|
@@ -525,11 +519,11 @@ var suspenseQueryGenerator = createReactGenerator({
|
|
|
525
519
|
name: getName(operation, { type: "function", pluginKey: [pluginClientName] })
|
|
526
520
|
};
|
|
527
521
|
const queryOptions = {
|
|
528
|
-
name:
|
|
522
|
+
name: getName(operation, { type: "function", suffix: "SuspenseQueryOptions" })
|
|
529
523
|
};
|
|
530
524
|
const queryKey = {
|
|
531
|
-
name:
|
|
532
|
-
typeName:
|
|
525
|
+
name: getName(operation, { type: "const", suffix: "SuspenseQueryKey" }),
|
|
526
|
+
typeName: getName(operation, { type: "type", suffix: "SuspenseQueryKey" })
|
|
533
527
|
};
|
|
534
528
|
const type = {
|
|
535
529
|
file: getFile(operation, { pluginKey: [pluginTsName] }),
|
|
@@ -544,7 +538,7 @@ var suspenseQueryGenerator = createReactGenerator({
|
|
|
544
538
|
return null;
|
|
545
539
|
}
|
|
546
540
|
return /* @__PURE__ */ jsxs(File, { baseName: query.file.baseName, path: query.file.path, meta: query.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
547
|
-
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, {
|
|
541
|
+
options.parser === "zod" && /* @__PURE__ */ jsx(File.Import, { name: [zod.schemas.response.name], root: query.file.path, path: zod.file.path }),
|
|
548
542
|
/* @__PURE__ */ jsx(File.Import, { name: ["useSuspenseQuery", "queryOptions"], path: options.query.importPath }),
|
|
549
543
|
/* @__PURE__ */ jsx(File.Import, { name: ["QueryKey", "WithRequired", "UseSuspenseQueryOptions", "UseSuspenseQueryResult"], path: options.query.importPath, isTypeOnly: true }),
|
|
550
544
|
/* @__PURE__ */ jsx(File.Import, { name: "client", path: options.client.importPath }),
|
|
@@ -553,7 +547,6 @@ var suspenseQueryGenerator = createReactGenerator({
|
|
|
553
547
|
/* @__PURE__ */ jsx(
|
|
554
548
|
File.Import,
|
|
555
549
|
{
|
|
556
|
-
extName: output?.extName,
|
|
557
550
|
name: [
|
|
558
551
|
type.schemas.request?.name,
|
|
559
552
|
type.schemas.response.name,
|
|
@@ -621,5 +614,5 @@ var suspenseQueryGenerator = createReactGenerator({
|
|
|
621
614
|
});
|
|
622
615
|
|
|
623
616
|
export { infiniteQueryGenerator, mutationGenerator, queryGenerator, suspenseQueryGenerator };
|
|
624
|
-
//# sourceMappingURL=chunk-
|
|
625
|
-
//# sourceMappingURL=chunk-
|
|
617
|
+
//# sourceMappingURL=chunk-2D27Y6L5.js.map
|
|
618
|
+
//# sourceMappingURL=chunk-2D27Y6L5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../plugin-client/src/generators/clientGenerator.tsx","../../plugin-client/src/generators/operationsGenerator.tsx","../../plugin-client/src/plugin.ts","../src/generators/queryGenerator.tsx","../src/generators/mutationGenerator.tsx","../src/generators/infiniteQueryGenerator.tsx","../src/generators/suspenseQueryGenerator.tsx"],"names":["createReactGenerator","useApp","jsx","File","transformers","pluginZodName","options","useOperationManager","pluginTsName","jsxs"],"mappings":"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","file":"chunk-2D27Y6L5.js","sourcesContent":["import { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { Client } from '../components/Client'\nimport type { PluginClient } from '../types'\n\nexport const clientGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginClient>()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n return (\n <File baseName={client.file.baseName} path={client.file.path} meta={client.file.meta} banner={output?.banner} footer={output?.footer}>\n <File.Import name={'client'} path={options.importPath} />\n <File.Import name={['RequestConfig']} path={options.importPath} isTypeOnly />\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={client.file.path} path={zod.file.path} />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={client.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <Client\n name={client.name}\n baseURL={options.baseURL}\n dataReturnType={options.dataReturnType}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n operation={operation}\n parser={options.parser}\n zodSchemas={zod.schemas}\n />\n </File>\n )\n },\n})\n","import { pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { File, useApp } from '@kubb/react'\nimport { Operations } from '../components/Operations'\nimport type { PluginClient } from '../types'\n\nexport const operationsGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operations({ operations }) {\n const {\n pluginManager,\n plugin: {\n options: { output },\n },\n } = useApp<PluginClient>()\n\n const name = 'operations'\n const file = pluginManager.getFile({ name, extname: '.ts', pluginKey: [pluginClientName] })\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta} banner={output?.banner} footer={output?.footer}>\n <Operations name={name} operations={operations} />\n </File>\n )\n },\n})\n","import path from 'node:path'\n\nimport { FileManager, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase } from '@kubb/core/transformers'\nimport { renderTemplate } from '@kubb/core/utils'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas as SwaggerPluginOptions } from '@kubb/plugin-oas'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { operationsGenerator } from './generators'\nimport { clientGenerator } from './generators/clientGenerator.tsx'\nimport type { PluginClient } from './types.ts'\n\nexport const pluginClientName = 'plugin-client' satisfies PluginClient['name']\n\nexport const pluginClient = createPlugin<PluginClient>((options) => {\n const {\n output = { path: 'clients', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n transformers = {},\n dataReturnType = 'data',\n pathParamsType = 'inline',\n operations = false,\n generators = [clientGenerator, operations ? operationsGenerator : undefined].filter(Boolean),\n importPath = '@kubb/plugin-client/client',\n parser = 'client',\n } = options\n\n const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`\n\n return {\n name: pluginClientName,\n options: {\n output: {\n ...output,\n },\n parser,\n dataReturnType,\n importPath,\n pathParamsType,\n baseURL: undefined,\n },\n pre: [pluginOasName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (options?.tag && group?.type === 'tag') {\n const tag = camelCase(options.tag)\n\n return path.resolve(root, renderTemplate(template, { tag }), baseName)\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n const resolvedName = camelCase(name, { isFile: type === 'file' })\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<SwaggerPluginOptions>] = PluginManager.getDependedPlugins<SwaggerPluginOptions>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n const baseURL = await swaggerPlugin.context.getBaseURL()\n\n const operationGenerator = new OperationGenerator(\n {\n ...this.plugin.options,\n baseURL,\n },\n {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n },\n )\n\n const files = await operationGenerator.build(...generators)\n\n await this.addFile(...files)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n","import transformers from '@kubb/core/transformers'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginReactQuery } from '../types'\n\nexport const queryGenerator = createReactGenerator<PluginReactQuery>({\n name: 'react-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginReactQuery>()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = !isQuery && options.mutation && options.mutation.methods.some((method) => operation.method === method)\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'use' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use' }),\n }\n\n const client = {\n name: getName(operation, { type: 'function', pluginKey: [pluginClientName] }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'QueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'QueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'QueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n if (!isQuery || typeof options.query === 'boolean') {\n return null\n }\n\n return (\n <File baseName={query.file.baseName} path={query.file.path} meta={query.file.meta} banner={output?.banner} footer={output?.footer}>\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={query.file.path} path={zod.file.path} />}\n <File.Import name={['useQuery', 'queryOptions']} path={options.query.importPath} />\n <File.Import name={['QueryKey', 'WithRequired', 'QueryObserverOptions', 'UseQueryResult']} path={options.query.importPath} isTypeOnly />\n <File.Import name={'client'} path={options.client.importPath} />\n <File.Import name={['RequestConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n keysFn={options.query.key}\n />\n <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\n baseURL={options.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n />\n <Query\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </File>\n )\n },\n})\n","import transformers from '@kubb/core/transformers'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { Mutation, MutationKey } from '../components'\nimport type { PluginReactQuery } from '../types'\n\nexport const mutationGenerator = createReactGenerator<PluginReactQuery>({\n name: 'react-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginReactQuery>()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = !isQuery && options.mutation && options.mutation.methods.some((method) => operation.method === method)\n\n const mutation = {\n name: getName(operation, { type: 'function', prefix: 'use' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n const client = {\n name: getName(operation, { type: 'function', pluginKey: [pluginClientName] }),\n }\n\n const mutationKey = {\n name: getName(operation, { type: 'const', suffix: 'MutationKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'MutationKey' }),\n }\n\n if (!isMutation || typeof options.mutation === 'boolean') {\n return null\n }\n\n return (\n <File baseName={mutation.file.baseName} path={mutation.file.path} meta={mutation.file.meta} banner={output?.banner} footer={output?.footer}>\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={mutation.file.path} path={zod.file.path} />}\n <File.Import name={['useMutation']} path={options.mutation.importPath} />\n <File.Import name={['UseMutationOptions']} path={options.mutation.importPath} isTypeOnly />\n <File.Import name={'client'} path={options.client.importPath} />\n <File.Import name={['RequestConfig', 'ResponseConfig']} path={options.client.importPath} isTypeOnly />\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={mutation.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <MutationKey\n name={mutationKey.name}\n typeName={mutationKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n keysFn={options.mutation.key}\n />\n <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\n baseURL={options.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n <Mutation\n name={mutation.name}\n clientName={client.name}\n typeName={mutation.typeName}\n typeSchemas={type.schemas}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n pathParamsType={options.pathParamsType}\n mutationKeyName={mutationKey.name}\n />\n </File>\n )\n },\n})\n","import transformers from '@kubb/core/transformers'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { InfiniteQuery, InfiniteQueryOptions, QueryKey } from '../components'\nimport type { PluginReactQuery } from '../types'\n\nexport const infiniteQueryGenerator = createReactGenerator<PluginReactQuery>({\n name: 'react-infinite-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginReactQuery>()\n const { getSchemas, getName, getFile } = useOperationManager()\n const isQuery = typeof options.query === 'boolean' ? options.query : !!options.query.methods?.some((method) => operation.method === method)\n const isInfinite = isQuery && !!options.infinite\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'use', suffix: 'infinite' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use', suffix: 'infinite' }),\n }\n\n const client = {\n name: getName(operation, { type: 'function', pluginKey: [pluginClientName] }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'InfiniteQueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'InfiniteQueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'InfiniteQueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n if (!isQuery || !isInfinite || typeof options.query === 'boolean' || typeof options.infinite === 'boolean') {\n return null\n }\n\n return (\n <File baseName={query.file.baseName} path={query.file.path} meta={query.file.meta} banner={output?.banner} footer={output?.footer}>\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={query.file.path} path={zod.file.path} />}\n <File.Import name={['useInfiniteQuery', 'infiniteQueryOptions']} path={options.query.importPath} />\n <File.Import name={['QueryKey', 'WithRequired', 'InfiniteQueryObserverOptions', 'UseInfiniteQueryResult']} path={options.query.importPath} isTypeOnly />\n <File.Import name={'client'} path={options.client.importPath} />\n <File.Import name={['RequestConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n keysFn={options.query.key}\n />\n <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\n baseURL={options.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n <InfiniteQueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType}\n cursorParam={options.infinite.cursorParam}\n initialPageParam={options.infinite.initialPageParam}\n queryParam={options.infinite.queryParam}\n />\n <InfiniteQuery\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </File>\n )\n },\n})\n","import transformers from '@kubb/core/transformers'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { QueryKey, QueryOptions, SuspenseQuery } from '../components'\nimport type { PluginReactQuery } from '../types'\n\nexport const suspenseQueryGenerator = createReactGenerator<PluginReactQuery>({\n name: 'react-suspense-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginReactQuery>()\n const { getSchemas, getName, getFile } = useOperationManager()\n const isQuery = typeof options.query === 'boolean' ? options.query : !!options.query.methods?.some((method) => operation.method === method)\n const isSuspense = isQuery && !!options.suspense\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'use', suffix: 'suspense' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use', suffix: 'suspense' }),\n }\n\n const client = {\n name: getName(operation, { type: 'function', pluginKey: [pluginClientName] }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'SuspenseQueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'SuspenseQueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'SuspenseQueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n if (!isQuery || !isSuspense || typeof options.query === 'boolean') {\n return null\n }\n\n return (\n <File baseName={query.file.baseName} path={query.file.path} meta={query.file.meta} banner={output?.banner} footer={output?.footer}>\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={query.file.path} path={zod.file.path} />}\n <File.Import name={['useSuspenseQuery', 'queryOptions']} path={options.query.importPath} />\n <File.Import name={['QueryKey', 'WithRequired', 'UseSuspenseQueryOptions', 'UseSuspenseQueryResult']} path={options.query.importPath} isTypeOnly />\n <File.Import name={'client'} path={options.client.importPath} />\n <File.Import name={['RequestConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n keysFn={options.query.key}\n />\n <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\n baseURL={options.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n />\n <SuspenseQuery\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n pathParamsType={options.pathParamsType}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </File>\n )\n },\n})\n"]}
|
|
@@ -14,7 +14,6 @@ var jsxRuntime = require('@kubb/react/jsx-runtime');
|
|
|
14
14
|
|
|
15
15
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
16
|
|
|
17
|
-
var transformers__default = /*#__PURE__*/_interopDefault(transformers);
|
|
18
17
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
19
18
|
|
|
20
19
|
var clientGenerator = pluginOas.createReactGenerator({
|
|
@@ -41,11 +40,10 @@ var clientGenerator = pluginOas.createReactGenerator({
|
|
|
41
40
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: client.file.baseName, path: client.file.path, meta: client.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
42
41
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "client", path: options.importPath }),
|
|
43
42
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["RequestConfig"], path: options.importPath, isTypeOnly: true }),
|
|
44
|
-
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, {
|
|
43
|
+
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: [zod.schemas.response.name], root: client.file.path, path: zod.file.path }),
|
|
45
44
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
46
45
|
react.File.Import,
|
|
47
46
|
{
|
|
48
|
-
extName: output?.extName,
|
|
49
47
|
name: [
|
|
50
48
|
type.schemas.request?.name,
|
|
51
49
|
type.schemas.response.name,
|
|
@@ -85,7 +83,7 @@ var operationsGenerator = pluginOas.createReactGenerator({
|
|
|
85
83
|
}
|
|
86
84
|
} = react.useApp();
|
|
87
85
|
const name = "operations";
|
|
88
|
-
const file = pluginManager.getFile({ name,
|
|
86
|
+
const file = pluginManager.getFile({ name, extname: ".ts", pluginKey: [pluginClientName] });
|
|
89
87
|
return /* @__PURE__ */ jsxRuntime.jsx(react.File, { baseName: file.baseName, path: file.path, meta: file.meta, banner: output?.banner, footer: output?.footer, children: /* @__PURE__ */ jsxRuntime.jsx(chunkC2H3KPHM_cjs.Operations, { name, operations }) });
|
|
90
88
|
}
|
|
91
89
|
});
|
|
@@ -94,7 +92,7 @@ var operationsGenerator = pluginOas.createReactGenerator({
|
|
|
94
92
|
var pluginClientName = "plugin-client";
|
|
95
93
|
core.createPlugin((options) => {
|
|
96
94
|
const {
|
|
97
|
-
output = { path: "clients" },
|
|
95
|
+
output = { path: "clients", barrelType: "named" },
|
|
98
96
|
group,
|
|
99
97
|
exclude = [],
|
|
100
98
|
include,
|
|
@@ -112,7 +110,6 @@ core.createPlugin((options) => {
|
|
|
112
110
|
name: pluginClientName,
|
|
113
111
|
options: {
|
|
114
112
|
output: {
|
|
115
|
-
exportType: "barrelNamed",
|
|
116
113
|
...output
|
|
117
114
|
},
|
|
118
115
|
parser,
|
|
@@ -165,18 +162,17 @@ core.createPlugin((options) => {
|
|
|
165
162
|
);
|
|
166
163
|
const files = await operationGenerator.build(...generators);
|
|
167
164
|
await this.addFile(...files);
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}
|
|
165
|
+
const barrelFiles = await this.fileManager.getBarrelFiles({
|
|
166
|
+
type: output.barrelType ?? "named",
|
|
167
|
+
root,
|
|
168
|
+
output,
|
|
169
|
+
files: this.fileManager.files,
|
|
170
|
+
meta: {
|
|
171
|
+
pluginKey: this.plugin.key
|
|
172
|
+
},
|
|
173
|
+
logger: this.logger
|
|
174
|
+
});
|
|
175
|
+
await this.addFile(...barrelFiles);
|
|
180
176
|
}
|
|
181
177
|
};
|
|
182
178
|
});
|
|
@@ -200,11 +196,11 @@ var queryGenerator = pluginOas.createReactGenerator({
|
|
|
200
196
|
name: getName(operation, { type: "function", pluginKey: [pluginClientName] })
|
|
201
197
|
};
|
|
202
198
|
const queryOptions = {
|
|
203
|
-
name:
|
|
199
|
+
name: getName(operation, { type: "function", suffix: "QueryOptions" })
|
|
204
200
|
};
|
|
205
201
|
const queryKey = {
|
|
206
|
-
name:
|
|
207
|
-
typeName:
|
|
202
|
+
name: getName(operation, { type: "const", suffix: "QueryKey" }),
|
|
203
|
+
typeName: getName(operation, { type: "type", suffix: "QueryKey" })
|
|
208
204
|
};
|
|
209
205
|
const type = {
|
|
210
206
|
file: getFile(operation, { pluginKey: [pluginTs.pluginTsName] }),
|
|
@@ -219,7 +215,7 @@ var queryGenerator = pluginOas.createReactGenerator({
|
|
|
219
215
|
return null;
|
|
220
216
|
}
|
|
221
217
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: query.file.baseName, path: query.file.path, meta: query.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
222
|
-
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, {
|
|
218
|
+
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: [zod.schemas.response.name], root: query.file.path, path: zod.file.path }),
|
|
223
219
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["useQuery", "queryOptions"], path: options.query.importPath }),
|
|
224
220
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["QueryKey", "WithRequired", "QueryObserverOptions", "UseQueryResult"], path: options.query.importPath, isTypeOnly: true }),
|
|
225
221
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "client", path: options.client.importPath }),
|
|
@@ -228,7 +224,6 @@ var queryGenerator = pluginOas.createReactGenerator({
|
|
|
228
224
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
229
225
|
react.File.Import,
|
|
230
226
|
{
|
|
231
|
-
extName: output?.extName,
|
|
232
227
|
name: [
|
|
233
228
|
type.schemas.request?.name,
|
|
234
229
|
type.schemas.response.name,
|
|
@@ -323,14 +318,14 @@ var mutationGenerator = pluginOas.createReactGenerator({
|
|
|
323
318
|
name: getName(operation, { type: "function", pluginKey: [pluginClientName] })
|
|
324
319
|
};
|
|
325
320
|
const mutationKey = {
|
|
326
|
-
name:
|
|
327
|
-
typeName:
|
|
321
|
+
name: getName(operation, { type: "const", suffix: "MutationKey" }),
|
|
322
|
+
typeName: getName(operation, { type: "type", suffix: "MutationKey" })
|
|
328
323
|
};
|
|
329
324
|
if (!isMutation || typeof options.mutation === "boolean") {
|
|
330
325
|
return null;
|
|
331
326
|
}
|
|
332
327
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: mutation.file.baseName, path: mutation.file.path, meta: mutation.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
333
|
-
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, {
|
|
328
|
+
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: [zod.schemas.response.name], root: mutation.file.path, path: zod.file.path }),
|
|
334
329
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["useMutation"], path: options.mutation.importPath }),
|
|
335
330
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["UseMutationOptions"], path: options.mutation.importPath, isTypeOnly: true }),
|
|
336
331
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "client", path: options.client.importPath }),
|
|
@@ -338,7 +333,6 @@ var mutationGenerator = pluginOas.createReactGenerator({
|
|
|
338
333
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
339
334
|
react.File.Import,
|
|
340
335
|
{
|
|
341
|
-
extName: output?.extName,
|
|
342
336
|
name: [
|
|
343
337
|
type.schemas.request?.name,
|
|
344
338
|
type.schemas.response.name,
|
|
@@ -414,11 +408,11 @@ var infiniteQueryGenerator = pluginOas.createReactGenerator({
|
|
|
414
408
|
name: getName(operation, { type: "function", pluginKey: [pluginClientName] })
|
|
415
409
|
};
|
|
416
410
|
const queryOptions = {
|
|
417
|
-
name:
|
|
411
|
+
name: getName(operation, { type: "function", suffix: "InfiniteQueryOptions" })
|
|
418
412
|
};
|
|
419
413
|
const queryKey = {
|
|
420
|
-
name:
|
|
421
|
-
typeName:
|
|
414
|
+
name: getName(operation, { type: "const", suffix: "InfiniteQueryKey" }),
|
|
415
|
+
typeName: getName(operation, { type: "type", suffix: "InfiniteQueryKey" })
|
|
422
416
|
};
|
|
423
417
|
const type = {
|
|
424
418
|
file: getFile(operation, { pluginKey: [pluginTs.pluginTsName] }),
|
|
@@ -433,7 +427,7 @@ var infiniteQueryGenerator = pluginOas.createReactGenerator({
|
|
|
433
427
|
return null;
|
|
434
428
|
}
|
|
435
429
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: query.file.baseName, path: query.file.path, meta: query.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
436
|
-
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, {
|
|
430
|
+
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: [zod.schemas.response.name], root: query.file.path, path: zod.file.path }),
|
|
437
431
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["useInfiniteQuery", "infiniteQueryOptions"], path: options.query.importPath }),
|
|
438
432
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["QueryKey", "WithRequired", "InfiniteQueryObserverOptions", "UseInfiniteQueryResult"], path: options.query.importPath, isTypeOnly: true }),
|
|
439
433
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "client", path: options.client.importPath }),
|
|
@@ -442,7 +436,6 @@ var infiniteQueryGenerator = pluginOas.createReactGenerator({
|
|
|
442
436
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
443
437
|
react.File.Import,
|
|
444
438
|
{
|
|
445
|
-
extName: output?.extName,
|
|
446
439
|
name: [
|
|
447
440
|
type.schemas.request?.name,
|
|
448
441
|
type.schemas.response.name,
|
|
@@ -532,11 +525,11 @@ var suspenseQueryGenerator = pluginOas.createReactGenerator({
|
|
|
532
525
|
name: getName(operation, { type: "function", pluginKey: [pluginClientName] })
|
|
533
526
|
};
|
|
534
527
|
const queryOptions = {
|
|
535
|
-
name:
|
|
528
|
+
name: getName(operation, { type: "function", suffix: "SuspenseQueryOptions" })
|
|
536
529
|
};
|
|
537
530
|
const queryKey = {
|
|
538
|
-
name:
|
|
539
|
-
typeName:
|
|
531
|
+
name: getName(operation, { type: "const", suffix: "SuspenseQueryKey" }),
|
|
532
|
+
typeName: getName(operation, { type: "type", suffix: "SuspenseQueryKey" })
|
|
540
533
|
};
|
|
541
534
|
const type = {
|
|
542
535
|
file: getFile(operation, { pluginKey: [pluginTs.pluginTsName] }),
|
|
@@ -551,7 +544,7 @@ var suspenseQueryGenerator = pluginOas.createReactGenerator({
|
|
|
551
544
|
return null;
|
|
552
545
|
}
|
|
553
546
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: query.file.baseName, path: query.file.path, meta: query.file.meta, banner: output?.banner, footer: output?.footer, children: [
|
|
554
|
-
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, {
|
|
547
|
+
options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: [zod.schemas.response.name], root: query.file.path, path: zod.file.path }),
|
|
555
548
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["useSuspenseQuery", "queryOptions"], path: options.query.importPath }),
|
|
556
549
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["QueryKey", "WithRequired", "UseSuspenseQueryOptions", "UseSuspenseQueryResult"], path: options.query.importPath, isTypeOnly: true }),
|
|
557
550
|
/* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "client", path: options.client.importPath }),
|
|
@@ -560,7 +553,6 @@ var suspenseQueryGenerator = pluginOas.createReactGenerator({
|
|
|
560
553
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
561
554
|
react.File.Import,
|
|
562
555
|
{
|
|
563
|
-
extName: output?.extName,
|
|
564
556
|
name: [
|
|
565
557
|
type.schemas.request?.name,
|
|
566
558
|
type.schemas.response.name,
|
|
@@ -631,5 +623,5 @@ exports.infiniteQueryGenerator = infiniteQueryGenerator;
|
|
|
631
623
|
exports.mutationGenerator = mutationGenerator;
|
|
632
624
|
exports.queryGenerator = queryGenerator;
|
|
633
625
|
exports.suspenseQueryGenerator = suspenseQueryGenerator;
|
|
634
|
-
//# sourceMappingURL=chunk-
|
|
635
|
-
//# sourceMappingURL=chunk-
|
|
626
|
+
//# sourceMappingURL=chunk-JW3GZUSC.cjs.map
|
|
627
|
+
//# sourceMappingURL=chunk-JW3GZUSC.cjs.map
|