@kubb/plugin-client 3.2.0 → 3.3.0
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-5ROWRWRX.cjs → chunk-TX2PSIPH.cjs} +5 -4
- package/dist/chunk-TX2PSIPH.cjs.map +1 -0
- package/dist/{chunk-ZL2JXZSZ.js → chunk-UIFBYWMG.js} +5 -4
- package/dist/chunk-UIFBYWMG.js.map +1 -0
- package/dist/{client.cjs → clients/axios.cjs} +5 -5
- package/dist/clients/axios.cjs.map +1 -0
- package/dist/{client.js → clients/axios.js} +5 -5
- package/dist/clients/axios.js.map +1 -0
- package/dist/clients/fetch.cjs +31 -0
- package/dist/clients/fetch.cjs.map +1 -0
- package/dist/clients/fetch.d.cts +29 -0
- package/dist/clients/fetch.d.ts +29 -0
- package/dist/clients/fetch.js +26 -0
- package/dist/clients/fetch.js.map +1 -0
- package/dist/components.d.cts +1 -1
- package/dist/components.d.ts +1 -1
- package/dist/generators.cjs +4 -4
- package/dist/generators.d.cts +1 -1
- package/dist/generators.d.ts +1 -1
- package/dist/generators.js +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/{types-DLeEW_8_.d.cts → types-P398e_Yv.d.cts} +9 -2
- package/dist/{types-DLeEW_8_.d.ts → types-P398e_Yv.d.ts} +9 -2
- package/package.json +24 -18
- package/src/clients/fetch.ts +48 -0
- package/src/generators/__snapshots__/deletePet.ts +11 -6
- package/src/generators/__snapshots__/deletePetObject.ts +11 -8
- package/src/generators/__snapshots__/findByTags.ts +5 -5
- package/src/generators/__snapshots__/findByTagsFull.ts +5 -5
- package/src/generators/__snapshots__/findByTagsObject.ts +6 -8
- package/src/generators/__snapshots__/findByTagsWithZod.ts +5 -5
- package/src/generators/__snapshots__/findByTagsWithZodFull.ts +5 -5
- package/src/generators/__snapshots__/importPath.ts +5 -5
- package/src/generators/__snapshots__/operations.ts +81 -81
- package/src/generators/__snapshots__/updatePetById.ts +10 -6
- package/src/plugin.ts +2 -1
- package/src/types.ts +9 -2
- package/dist/chunk-5ROWRWRX.cjs.map +0 -1
- package/dist/chunk-ZL2JXZSZ.js.map +0 -1
- package/dist/client.cjs.map +0 -1
- package/dist/client.js.map +0 -1
- /package/dist/{client.d.cts → clients/axios.d.cts} +0 -0
- /package/dist/{client.d.ts → clients/axios.d.ts} +0 -0
- /package/{client.ts → src/clients/axios.ts} +0 -0
|
@@ -137,8 +137,9 @@ var pluginClient = core.createPlugin((options) => {
|
|
|
137
137
|
baseURL,
|
|
138
138
|
paramsCasing,
|
|
139
139
|
generators = [clientGenerator, group ? groupedClientGenerator : void 0, operations ? operationsGenerator : void 0].filter(Boolean),
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
parser = "client",
|
|
141
|
+
client = "axios",
|
|
142
|
+
importPath = client === "fetch" ? "@kubb/plugin-client/clients/fetch" : "@kubb/plugin-client/clients/axios"
|
|
142
143
|
} = options;
|
|
143
144
|
return {
|
|
144
145
|
name: pluginClientName,
|
|
@@ -237,5 +238,5 @@ exports.groupedClientGenerator = groupedClientGenerator;
|
|
|
237
238
|
exports.operationsGenerator = operationsGenerator;
|
|
238
239
|
exports.pluginClient = pluginClient;
|
|
239
240
|
exports.pluginClientName = pluginClientName;
|
|
240
|
-
//# sourceMappingURL=chunk-
|
|
241
|
-
//# sourceMappingURL=chunk-
|
|
241
|
+
//# sourceMappingURL=chunk-TX2PSIPH.cjs.map
|
|
242
|
+
//# sourceMappingURL=chunk-TX2PSIPH.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generators/clientGenerator.tsx","../src/generators/groupedClientGenerator.tsx","../src/plugin.ts","../src/generators/operationsGenerator.tsx"],"names":["createReactGenerator","useApp","useOperationManager","pluginTsName","pluginZodName","File","jsx","Client","camelCase","jsxs","Function","createPlugin","transformers","pluginOasName","options","path","FileManager","PluginManager","baseURL","OperationGenerator","Operations"],"mappings":"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","file":"chunk-TX2PSIPH.cjs","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 paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n parser={options.parser}\n zodSchemas={zod.schemas}\n />\n </File>\n )\n },\n})\n","import { camelCase } from '@kubb/core/transformers'\nimport type * as KubbFile from '@kubb/fs/types'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { File, Function, useApp } from '@kubb/react'\nimport type { PluginClient } from '../types'\n\nexport const groupedClientGenerator = createReactGenerator<PluginClient>({\n name: 'groupedClient',\n Operations({ operations }) {\n const {\n pluginManager,\n plugin: { options, key: pluginKey },\n } = useApp<PluginClient>()\n const { getName, getFile } = useOperationManager()\n\n const controllers = operations.reduce(\n (acc, operation) => {\n if (options.group?.type === 'tag') {\n const tag = operation.getTags().at(0)?.name\n const name = tag ? options.group?.name?.({ group: camelCase(tag) }) : undefined\n\n if (!tag || !name) {\n return acc\n }\n\n const file = pluginManager.getFile({\n name,\n extname: '.ts',\n pluginKey,\n options: { group: tag },\n })\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.clients.push(client)\n } else {\n acc.push({ name, file, clients: [client] })\n }\n }\n\n return acc\n },\n [] as Array<{ name: string; file: KubbFile.File; clients: Array<{ name: string; file: KubbFile.File }> }>,\n )\n\n return controllers.map(({ name, file, clients }) => {\n return (\n <File key={file.path} baseName={file.baseName} path={file.path} meta={file.meta} banner={options.output?.banner} footer={options.output?.footer}>\n {clients.map((client) => (\n <File.Import key={client.name} name={[client.name]} root={file.path} path={client.file.path} />\n ))}\n\n <File.Source name={name} isExportable isIndexable>\n <Function export name={name}>\n {`return { ${clients.map((client) => client.name).join(', ')} }`}\n </Function>\n </File.Source>\n </File>\n )\n })\n },\n})\n","import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase } from '@kubb/core/transformers'\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 { groupedClientGenerator } from './generators/groupedClientGenerator.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 paramsType = 'inline',\n operations = false,\n baseURL,\n paramsCasing,\n generators = [clientGenerator, group ? groupedClientGenerator : undefined, operations ? operationsGenerator : undefined].filter(Boolean),\n parser = 'client',\n client = 'axios',\n importPath = client === 'fetch' ? '@kubb/plugin-client/clients/fetch' : '@kubb/plugin-client/clients/axios',\n } = options\n\n return {\n name: pluginClientName,\n options: {\n output,\n group,\n parser,\n dataReturnType,\n importPath,\n paramsType,\n paramsCasing,\n pathParamsType: paramsType === 'object' ? 'object' : pathParamsType,\n baseURL,\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?.group && group) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(root, output.path, groupName({ group: options.group }), 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 baseURL\n ? {\n ...this.plugin.options,\n baseURL,\n }\n : this.plugin.options,\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 { 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 key: pluginKey,\n options: { output },\n },\n } = useApp<PluginClient>()\n\n const name = 'operations'\n const file = pluginManager.getFile({ name, extname: '.ts', pluginKey })\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"]}
|
|
@@ -131,8 +131,9 @@ var pluginClient = createPlugin((options) => {
|
|
|
131
131
|
baseURL,
|
|
132
132
|
paramsCasing,
|
|
133
133
|
generators = [clientGenerator, group ? groupedClientGenerator : void 0, operations ? operationsGenerator : void 0].filter(Boolean),
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
parser = "client",
|
|
135
|
+
client = "axios",
|
|
136
|
+
importPath = client === "fetch" ? "@kubb/plugin-client/clients/fetch" : "@kubb/plugin-client/clients/axios"
|
|
136
137
|
} = options;
|
|
137
138
|
return {
|
|
138
139
|
name: pluginClientName,
|
|
@@ -227,5 +228,5 @@ var operationsGenerator = createReactGenerator({
|
|
|
227
228
|
});
|
|
228
229
|
|
|
229
230
|
export { clientGenerator, groupedClientGenerator, operationsGenerator, pluginClient, pluginClientName };
|
|
230
|
-
//# sourceMappingURL=chunk-
|
|
231
|
-
//# sourceMappingURL=chunk-
|
|
231
|
+
//# sourceMappingURL=chunk-UIFBYWMG.js.map
|
|
232
|
+
//# sourceMappingURL=chunk-UIFBYWMG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generators/clientGenerator.tsx","../src/generators/groupedClientGenerator.tsx","../src/plugin.ts","../src/generators/operationsGenerator.tsx"],"names":["createReactGenerator","useApp","useOperationManager","jsxs","File","jsx","pluginZodName","options","camelCase","baseURL"],"mappings":"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","file":"chunk-UIFBYWMG.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 paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n parser={options.parser}\n zodSchemas={zod.schemas}\n />\n </File>\n )\n },\n})\n","import { camelCase } from '@kubb/core/transformers'\nimport type * as KubbFile from '@kubb/fs/types'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { File, Function, useApp } from '@kubb/react'\nimport type { PluginClient } from '../types'\n\nexport const groupedClientGenerator = createReactGenerator<PluginClient>({\n name: 'groupedClient',\n Operations({ operations }) {\n const {\n pluginManager,\n plugin: { options, key: pluginKey },\n } = useApp<PluginClient>()\n const { getName, getFile } = useOperationManager()\n\n const controllers = operations.reduce(\n (acc, operation) => {\n if (options.group?.type === 'tag') {\n const tag = operation.getTags().at(0)?.name\n const name = tag ? options.group?.name?.({ group: camelCase(tag) }) : undefined\n\n if (!tag || !name) {\n return acc\n }\n\n const file = pluginManager.getFile({\n name,\n extname: '.ts',\n pluginKey,\n options: { group: tag },\n })\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.clients.push(client)\n } else {\n acc.push({ name, file, clients: [client] })\n }\n }\n\n return acc\n },\n [] as Array<{ name: string; file: KubbFile.File; clients: Array<{ name: string; file: KubbFile.File }> }>,\n )\n\n return controllers.map(({ name, file, clients }) => {\n return (\n <File key={file.path} baseName={file.baseName} path={file.path} meta={file.meta} banner={options.output?.banner} footer={options.output?.footer}>\n {clients.map((client) => (\n <File.Import key={client.name} name={[client.name]} root={file.path} path={client.file.path} />\n ))}\n\n <File.Source name={name} isExportable isIndexable>\n <Function export name={name}>\n {`return { ${clients.map((client) => client.name).join(', ')} }`}\n </Function>\n </File.Source>\n </File>\n )\n })\n },\n})\n","import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase } from '@kubb/core/transformers'\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 { groupedClientGenerator } from './generators/groupedClientGenerator.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 paramsType = 'inline',\n operations = false,\n baseURL,\n paramsCasing,\n generators = [clientGenerator, group ? groupedClientGenerator : undefined, operations ? operationsGenerator : undefined].filter(Boolean),\n parser = 'client',\n client = 'axios',\n importPath = client === 'fetch' ? '@kubb/plugin-client/clients/fetch' : '@kubb/plugin-client/clients/axios',\n } = options\n\n return {\n name: pluginClientName,\n options: {\n output,\n group,\n parser,\n dataReturnType,\n importPath,\n paramsType,\n paramsCasing,\n pathParamsType: paramsType === 'object' ? 'object' : pathParamsType,\n baseURL,\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?.group && group) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(root, output.path, groupName({ group: options.group }), 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 baseURL\n ? {\n ...this.plugin.options,\n baseURL,\n }\n : this.plugin.options,\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 { 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 key: pluginKey,\n options: { output },\n },\n } = useApp<PluginClient>()\n\n const name = 'operations'\n const file = pluginManager.getFile({ name, extname: '.ts', pluginKey })\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"]}
|
|
@@ -8,7 +8,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
8
8
|
|
|
9
9
|
var axios__default = /*#__PURE__*/_interopDefault(axios);
|
|
10
10
|
|
|
11
|
-
//
|
|
11
|
+
// src/clients/axios.ts
|
|
12
12
|
var _config = {
|
|
13
13
|
baseURL: typeof AXIOS_BASE !== "undefined" ? AXIOS_BASE : void 0,
|
|
14
14
|
headers: typeof AXIOS_HEADERS !== "undefined" ? JSON.parse(AXIOS_HEADERS) : void 0
|
|
@@ -34,12 +34,12 @@ var axiosClient = async (config) => {
|
|
|
34
34
|
};
|
|
35
35
|
axiosClient.getConfig = getConfig;
|
|
36
36
|
axiosClient.setConfig = setConfig;
|
|
37
|
-
var
|
|
37
|
+
var axios_default = axiosClient;
|
|
38
38
|
|
|
39
39
|
exports.axiosClient = axiosClient;
|
|
40
40
|
exports.axiosInstance = axiosInstance;
|
|
41
|
-
exports.default =
|
|
41
|
+
exports.default = axios_default;
|
|
42
42
|
exports.getConfig = getConfig;
|
|
43
43
|
exports.setConfig = setConfig;
|
|
44
|
-
//# sourceMappingURL=
|
|
45
|
-
//# sourceMappingURL=
|
|
44
|
+
//# sourceMappingURL=axios.cjs.map
|
|
45
|
+
//# sourceMappingURL=axios.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/clients/axios.ts"],"names":["axios"],"mappings":";;;;;;;;;;;AA8BA,IAAI,OAAkC,GAAA;AAAA,EACpC,OAAS,EAAA,OAAO,UAAe,KAAA,WAAA,GAAc,UAAa,GAAA,KAAA,CAAA;AAAA,EAC1D,SAAS,OAAO,aAAA,KAAkB,cAAe,IAAK,CAAA,KAAA,CAAM,aAAa,CAAqB,GAAA,KAAA;AAChG,CAAA;AAEO,IAAM,YAAY,MAAM;AAElB,IAAA,SAAA,GAAY,CAAC,MAA0B,KAAA;AAClD,EAAU,OAAA,GAAA,MAAA;AACV,EAAA,OAAO,SAAU,EAAA;AACnB;AAEO,IAAM,aAAgB,GAAAA,sBAAA,CAAM,MAAO,CAAA,SAAA,EAAW;AAExC,IAAA,WAAA,GAAc,OAAsD,MAAsE,KAAA;AACrJ,EAAA,MAAM,eAAe,SAAU,EAAA;AAE/B,EAAA,OAAO,cACJ,OAAsC,CAAA;AAAA,IACrC,GAAG,YAAA;AAAA,IACH,GAAG,MAAA;AAAA,IACH,OAAS,EAAA;AAAA,MACP,GAAG,YAAa,CAAA,OAAA;AAAA,MAChB,GAAG,MAAO,CAAA;AAAA;AACZ,GACD,CAAA,CACA,KAAM,CAAA,CAAC,CAA0B,KAAA;AAChC,IAAM,MAAA,CAAA;AAAA,GACP,CAAA;AACL;AAEA,WAAA,CAAY,SAAY,GAAA,SAAA;AACxB,WAAA,CAAY,SAAY,GAAA,SAAA;AAExB,IAAO,aAAQ,GAAA","file":"axios.cjs","sourcesContent":["import axios from 'axios'\n\nimport type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: AxiosRequestConfig['headers']\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: AxiosResponse['headers']\n}\n\nlet _config: Partial<RequestConfig> = {\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: RequestConfig) => {\n _config = config\n return getConfig()\n}\n\nexport const axiosInstance = axios.create(getConfig())\n\nexport const axiosClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const globalConfig = getConfig()\n\n return axiosInstance\n .request<TData, ResponseConfig<TData>>({\n ...globalConfig,\n ...config,\n headers: {\n ...globalConfig.headers,\n ...config.headers,\n },\n })\n .catch((e: AxiosError<TError>) => {\n throw e\n })\n}\n\naxiosClient.getConfig = getConfig\naxiosClient.setConfig = setConfig\n\nexport default axiosClient\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
2
|
|
|
3
|
-
//
|
|
3
|
+
// src/clients/axios.ts
|
|
4
4
|
var _config = {
|
|
5
5
|
baseURL: typeof AXIOS_BASE !== "undefined" ? AXIOS_BASE : void 0,
|
|
6
6
|
headers: typeof AXIOS_HEADERS !== "undefined" ? JSON.parse(AXIOS_HEADERS) : void 0
|
|
@@ -26,8 +26,8 @@ var axiosClient = async (config) => {
|
|
|
26
26
|
};
|
|
27
27
|
axiosClient.getConfig = getConfig;
|
|
28
28
|
axiosClient.setConfig = setConfig;
|
|
29
|
-
var
|
|
29
|
+
var axios_default = axiosClient;
|
|
30
30
|
|
|
31
|
-
export { axiosClient, axiosInstance,
|
|
32
|
-
//# sourceMappingURL=
|
|
33
|
-
//# sourceMappingURL=
|
|
31
|
+
export { axiosClient, axiosInstance, axios_default as default, getConfig, setConfig };
|
|
32
|
+
//# sourceMappingURL=axios.js.map
|
|
33
|
+
//# sourceMappingURL=axios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/clients/axios.ts"],"names":[],"mappings":";;;AA8BA,IAAI,OAAkC,GAAA;AAAA,EACpC,OAAS,EAAA,OAAO,UAAe,KAAA,WAAA,GAAc,UAAa,GAAA,KAAA,CAAA;AAAA,EAC1D,SAAS,OAAO,aAAA,KAAkB,cAAe,IAAK,CAAA,KAAA,CAAM,aAAa,CAAqB,GAAA,KAAA;AAChG,CAAA;AAEO,IAAM,YAAY,MAAM;AAElB,IAAA,SAAA,GAAY,CAAC,MAA0B,KAAA;AAClD,EAAU,OAAA,GAAA,MAAA;AACV,EAAA,OAAO,SAAU,EAAA;AACnB;AAEO,IAAM,aAAgB,GAAA,KAAA,CAAM,MAAO,CAAA,SAAA,EAAW;AAExC,IAAA,WAAA,GAAc,OAAsD,MAAsE,KAAA;AACrJ,EAAA,MAAM,eAAe,SAAU,EAAA;AAE/B,EAAA,OAAO,cACJ,OAAsC,CAAA;AAAA,IACrC,GAAG,YAAA;AAAA,IACH,GAAG,MAAA;AAAA,IACH,OAAS,EAAA;AAAA,MACP,GAAG,YAAa,CAAA,OAAA;AAAA,MAChB,GAAG,MAAO,CAAA;AAAA;AACZ,GACD,CAAA,CACA,KAAM,CAAA,CAAC,CAA0B,KAAA;AAChC,IAAM,MAAA,CAAA;AAAA,GACP,CAAA;AACL;AAEA,WAAA,CAAY,SAAY,GAAA,SAAA;AACxB,WAAA,CAAY,SAAY,GAAA,SAAA;AAExB,IAAO,aAAQ,GAAA","file":"axios.js","sourcesContent":["import axios from 'axios'\n\nimport type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: AxiosRequestConfig['headers']\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: AxiosResponse['headers']\n}\n\nlet _config: Partial<RequestConfig> = {\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: RequestConfig) => {\n _config = config\n return getConfig()\n}\n\nexport const axiosInstance = axios.create(getConfig())\n\nexport const axiosClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const globalConfig = getConfig()\n\n return axiosInstance\n .request<TData, ResponseConfig<TData>>({\n ...globalConfig,\n ...config,\n headers: {\n ...globalConfig.headers,\n ...config.headers,\n },\n })\n .catch((e: AxiosError<TError>) => {\n throw e\n })\n}\n\naxiosClient.getConfig = getConfig\naxiosClient.setConfig = setConfig\n\nexport default axiosClient\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
// src/clients/fetch.ts
|
|
6
|
+
var fetchClient = async (config) => {
|
|
7
|
+
const response = await fetch("https://example.org/post", {
|
|
8
|
+
method: config.method.toUpperCase(),
|
|
9
|
+
body: JSON.stringify(config.data),
|
|
10
|
+
signal: config.signal,
|
|
11
|
+
headers: config.headers
|
|
12
|
+
});
|
|
13
|
+
const data = await response.json();
|
|
14
|
+
return {
|
|
15
|
+
data,
|
|
16
|
+
status: response.status,
|
|
17
|
+
statusText: response.statusText
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
fetchClient.getConfig = () => {
|
|
21
|
+
throw new Error("Not supported");
|
|
22
|
+
};
|
|
23
|
+
fetchClient.setConfig = () => {
|
|
24
|
+
throw new Error("Not supported");
|
|
25
|
+
};
|
|
26
|
+
var fetch_default = fetchClient;
|
|
27
|
+
|
|
28
|
+
exports.default = fetch_default;
|
|
29
|
+
exports.fetchClient = fetchClient;
|
|
30
|
+
//# sourceMappingURL=fetch.cjs.map
|
|
31
|
+
//# sourceMappingURL=fetch.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/clients/fetch.ts"],"names":[],"mappings":";;;;;AAuBa,IAAA,WAAA,GAAc,OAAsD,MAAsE,KAAA;AACrJ,EAAM,MAAA,QAAA,GAAW,MAAM,KAAA,CAAM,0BAA4B,EAAA;AAAA,IACvD,MAAA,EAAQ,MAAO,CAAA,MAAA,CAAO,WAAY,EAAA;AAAA,IAClC,IAAM,EAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAO,IAAI,CAAA;AAAA,IAChC,QAAQ,MAAO,CAAA,MAAA;AAAA,IACf,SAAS,MAAO,CAAA;AAAA,GACjB,CAAA;AAED,EAAM,MAAA,IAAA,GAAQ,MAAM,QAAA,CAAS,IAAK,EAAA;AAElC,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA,QAAQ,QAAS,CAAA,MAAA;AAAA,IACjB,YAAY,QAAS,CAAA;AAAA,GACvB;AACF;AAEA,WAAA,CAAY,YAAY,MAAM;AAC5B,EAAM,MAAA,IAAI,MAAM,eAAe,CAAA;AACjC,CAAA;AACA,WAAA,CAAY,YAAY,MAAM;AAC5B,EAAM,MAAA,IAAI,MAAM,eAAe,CAAA;AACjC,CAAA;AAEA,IAAO,aAAQ,GAAA","file":"fetch.cjs","sourcesContent":["/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: [string, string][] | Record<string, string>\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: [string, string][] | Record<string, string>\n}\n\nexport const fetchClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const response = await fetch('https://example.org/post', {\n method: config.method.toUpperCase(),\n body: JSON.stringify(config.data),\n signal: config.signal,\n headers: config.headers,\n })\n\n const data = (await response.json()) as TData\n\n return {\n data,\n status: response.status,\n statusText: response.statusText,\n }\n}\n\nfetchClient.getConfig = () => {\n throw new Error('Not supported')\n}\nfetchClient.setConfig = () => {\n throw new Error('Not supported')\n}\n\nexport default fetchClient\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subset of AxiosRequestConfig
|
|
3
|
+
*/
|
|
4
|
+
type RequestConfig<TData = unknown> = {
|
|
5
|
+
baseURL?: string;
|
|
6
|
+
url?: string;
|
|
7
|
+
method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS';
|
|
8
|
+
params?: unknown;
|
|
9
|
+
data?: TData | FormData;
|
|
10
|
+
responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
|
|
11
|
+
signal?: AbortSignal;
|
|
12
|
+
headers?: [string, string][] | Record<string, string>;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Subset of AxiosResponse
|
|
16
|
+
*/
|
|
17
|
+
type ResponseConfig<TData = unknown> = {
|
|
18
|
+
data: TData;
|
|
19
|
+
status: number;
|
|
20
|
+
statusText: string;
|
|
21
|
+
headers?: [string, string][] | Record<string, string>;
|
|
22
|
+
};
|
|
23
|
+
declare const fetchClient: {
|
|
24
|
+
<TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
|
|
25
|
+
getConfig(): never;
|
|
26
|
+
setConfig(): never;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export { type RequestConfig, type ResponseConfig, fetchClient as default, fetchClient };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subset of AxiosRequestConfig
|
|
3
|
+
*/
|
|
4
|
+
type RequestConfig<TData = unknown> = {
|
|
5
|
+
baseURL?: string;
|
|
6
|
+
url?: string;
|
|
7
|
+
method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS';
|
|
8
|
+
params?: unknown;
|
|
9
|
+
data?: TData | FormData;
|
|
10
|
+
responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
|
|
11
|
+
signal?: AbortSignal;
|
|
12
|
+
headers?: [string, string][] | Record<string, string>;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Subset of AxiosResponse
|
|
16
|
+
*/
|
|
17
|
+
type ResponseConfig<TData = unknown> = {
|
|
18
|
+
data: TData;
|
|
19
|
+
status: number;
|
|
20
|
+
statusText: string;
|
|
21
|
+
headers?: [string, string][] | Record<string, string>;
|
|
22
|
+
};
|
|
23
|
+
declare const fetchClient: {
|
|
24
|
+
<TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
|
|
25
|
+
getConfig(): never;
|
|
26
|
+
setConfig(): never;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export { type RequestConfig, type ResponseConfig, fetchClient as default, fetchClient };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// src/clients/fetch.ts
|
|
2
|
+
var fetchClient = async (config) => {
|
|
3
|
+
const response = await fetch("https://example.org/post", {
|
|
4
|
+
method: config.method.toUpperCase(),
|
|
5
|
+
body: JSON.stringify(config.data),
|
|
6
|
+
signal: config.signal,
|
|
7
|
+
headers: config.headers
|
|
8
|
+
});
|
|
9
|
+
const data = await response.json();
|
|
10
|
+
return {
|
|
11
|
+
data,
|
|
12
|
+
status: response.status,
|
|
13
|
+
statusText: response.statusText
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
fetchClient.getConfig = () => {
|
|
17
|
+
throw new Error("Not supported");
|
|
18
|
+
};
|
|
19
|
+
fetchClient.setConfig = () => {
|
|
20
|
+
throw new Error("Not supported");
|
|
21
|
+
};
|
|
22
|
+
var fetch_default = fetchClient;
|
|
23
|
+
|
|
24
|
+
export { fetch_default as default, fetchClient };
|
|
25
|
+
//# sourceMappingURL=fetch.js.map
|
|
26
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/clients/fetch.ts"],"names":[],"mappings":";AAuBa,IAAA,WAAA,GAAc,OAAsD,MAAsE,KAAA;AACrJ,EAAM,MAAA,QAAA,GAAW,MAAM,KAAA,CAAM,0BAA4B,EAAA;AAAA,IACvD,MAAA,EAAQ,MAAO,CAAA,MAAA,CAAO,WAAY,EAAA;AAAA,IAClC,IAAM,EAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAO,IAAI,CAAA;AAAA,IAChC,QAAQ,MAAO,CAAA,MAAA;AAAA,IACf,SAAS,MAAO,CAAA;AAAA,GACjB,CAAA;AAED,EAAM,MAAA,IAAA,GAAQ,MAAM,QAAA,CAAS,IAAK,EAAA;AAElC,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA,QAAQ,QAAS,CAAA,MAAA;AAAA,IACjB,YAAY,QAAS,CAAA;AAAA,GACvB;AACF;AAEA,WAAA,CAAY,YAAY,MAAM;AAC5B,EAAM,MAAA,IAAI,MAAM,eAAe,CAAA;AACjC,CAAA;AACA,WAAA,CAAY,YAAY,MAAM;AAC5B,EAAM,MAAA,IAAI,MAAM,eAAe,CAAA;AACjC,CAAA;AAEA,IAAO,aAAQ,GAAA","file":"fetch.js","sourcesContent":["/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: [string, string][] | Record<string, string>\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: [string, string][] | Record<string, string>\n}\n\nexport const fetchClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const response = await fetch('https://example.org/post', {\n method: config.method.toUpperCase(),\n body: JSON.stringify(config.data),\n signal: config.signal,\n headers: config.headers,\n })\n\n const data = (await response.json()) as TData\n\n return {\n data,\n status: response.status,\n statusText: response.statusText,\n }\n}\n\nfetchClient.getConfig = () => {\n throw new Error('Not supported')\n}\nfetchClient.setConfig = () => {\n throw new Error('Not supported')\n}\n\nexport default fetchClient\n"]}
|
package/dist/components.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import { Operation } from '@kubb/oas';
|
|
|
2
2
|
import { OperationSchemas } from '@kubb/plugin-oas';
|
|
3
3
|
import { FunctionParams } from '@kubb/react';
|
|
4
4
|
import { KubbNode } from '@kubb/react/types';
|
|
5
|
-
import { P as PluginClient } from './types-
|
|
5
|
+
import { P as PluginClient } from './types-P398e_Yv.cjs';
|
|
6
6
|
import '@kubb/core';
|
|
7
7
|
|
|
8
8
|
type Props = {
|
package/dist/components.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Operation } from '@kubb/oas';
|
|
|
2
2
|
import { OperationSchemas } from '@kubb/plugin-oas';
|
|
3
3
|
import { FunctionParams } from '@kubb/react';
|
|
4
4
|
import { KubbNode } from '@kubb/react/types';
|
|
5
|
-
import { P as PluginClient } from './types-
|
|
5
|
+
import { P as PluginClient } from './types-P398e_Yv.js';
|
|
6
6
|
import '@kubb/core';
|
|
7
7
|
|
|
8
8
|
type Props = {
|
package/dist/generators.cjs
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkTX2PSIPH_cjs = require('./chunk-TX2PSIPH.cjs');
|
|
4
4
|
require('./chunk-4OXWRJFQ.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "clientGenerator", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkTX2PSIPH_cjs.clientGenerator; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "groupedClientGenerator", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkTX2PSIPH_cjs.groupedClientGenerator; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "operationsGenerator", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkTX2PSIPH_cjs.operationsGenerator; }
|
|
19
19
|
});
|
|
20
20
|
//# sourceMappingURL=generators.cjs.map
|
|
21
21
|
//# sourceMappingURL=generators.cjs.map
|
package/dist/generators.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _kubb_plugin_oas from '@kubb/plugin-oas';
|
|
2
|
-
import { P as PluginClient } from './types-
|
|
2
|
+
import { P as PluginClient } from './types-P398e_Yv.cjs';
|
|
3
3
|
import '@kubb/core';
|
|
4
4
|
|
|
5
5
|
declare const clientGenerator: _kubb_plugin_oas.Generator<PluginClient>;
|
package/dist/generators.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _kubb_plugin_oas from '@kubb/plugin-oas';
|
|
2
|
-
import { P as PluginClient } from './types-
|
|
2
|
+
import { P as PluginClient } from './types-P398e_Yv.js';
|
|
3
3
|
import '@kubb/core';
|
|
4
4
|
|
|
5
5
|
declare const clientGenerator: _kubb_plugin_oas.Generator<PluginClient>;
|
package/dist/generators.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { clientGenerator, groupedClientGenerator, operationsGenerator } from './chunk-
|
|
1
|
+
export { clientGenerator, groupedClientGenerator, operationsGenerator } from './chunk-UIFBYWMG.js';
|
|
2
2
|
import './chunk-3WVVUCEB.js';
|
|
3
3
|
//# sourceMappingURL=generators.js.map
|
|
4
4
|
//# sourceMappingURL=generators.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkTX2PSIPH_cjs = require('./chunk-TX2PSIPH.cjs');
|
|
4
4
|
require('./chunk-4OXWRJFQ.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "pluginClient", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkTX2PSIPH_cjs.pluginClient; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "pluginClientName", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkTX2PSIPH_cjs.pluginClientName; }
|
|
15
15
|
});
|
|
16
16
|
//# sourceMappingURL=index.cjs.map
|
|
17
17
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _kubb_core from '@kubb/core';
|
|
2
|
-
import { O as Options, P as PluginClient } from './types-
|
|
2
|
+
import { O as Options, P as PluginClient } from './types-P398e_Yv.cjs';
|
|
3
3
|
import '@kubb/plugin-oas';
|
|
4
4
|
|
|
5
5
|
declare const pluginClientName = "plugin-client";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _kubb_core from '@kubb/core';
|
|
2
|
-
import { O as Options, P as PluginClient } from './types-
|
|
2
|
+
import { O as Options, P as PluginClient } from './types-P398e_Yv.js';
|
|
3
3
|
import '@kubb/plugin-oas';
|
|
4
4
|
|
|
5
5
|
declare const pluginClientName = "plugin-client";
|
package/dist/index.js
CHANGED
|
@@ -32,7 +32,7 @@ type Options = {
|
|
|
32
32
|
* Path to the client import path that will be used to do the API calls.
|
|
33
33
|
* It will be used as `import client from '${client.importPath}'`.
|
|
34
34
|
* It allows both relative and absolute path but be aware that we will not change the path.
|
|
35
|
-
* @default '@kubb/plugin-client/
|
|
35
|
+
* @default '@kubb/plugin-client/clients/axios'
|
|
36
36
|
*/
|
|
37
37
|
importPath?: string;
|
|
38
38
|
/**
|
|
@@ -67,10 +67,17 @@ type Options = {
|
|
|
67
67
|
pathParamsType?: 'object' | 'inline';
|
|
68
68
|
/**
|
|
69
69
|
* Which parser can be used before returning the data
|
|
70
|
-
* - 'zod'
|
|
70
|
+
* - 'zod' will use `@kubb/plugin-zod` to parse the data.
|
|
71
71
|
* @default 'client'
|
|
72
72
|
*/
|
|
73
73
|
parser?: 'client' | 'zod';
|
|
74
|
+
/**
|
|
75
|
+
* Which client should be used to do the HTTP calls
|
|
76
|
+
* - 'axios' will use `@kubb/plugin-client/clients/axios` to fetch data.
|
|
77
|
+
* - 'fetch' will use `@kubb/plugin-client/clients/fetch` to fetch data.
|
|
78
|
+
* @default 'axios'
|
|
79
|
+
*/
|
|
80
|
+
client?: 'axios' | 'fetch';
|
|
74
81
|
transformers?: {
|
|
75
82
|
/**
|
|
76
83
|
* Customize the names based on the type that is provided by the plugin.
|
|
@@ -32,7 +32,7 @@ type Options = {
|
|
|
32
32
|
* Path to the client import path that will be used to do the API calls.
|
|
33
33
|
* It will be used as `import client from '${client.importPath}'`.
|
|
34
34
|
* It allows both relative and absolute path but be aware that we will not change the path.
|
|
35
|
-
* @default '@kubb/plugin-client/
|
|
35
|
+
* @default '@kubb/plugin-client/clients/axios'
|
|
36
36
|
*/
|
|
37
37
|
importPath?: string;
|
|
38
38
|
/**
|
|
@@ -67,10 +67,17 @@ type Options = {
|
|
|
67
67
|
pathParamsType?: 'object' | 'inline';
|
|
68
68
|
/**
|
|
69
69
|
* Which parser can be used before returning the data
|
|
70
|
-
* - 'zod'
|
|
70
|
+
* - 'zod' will use `@kubb/plugin-zod` to parse the data.
|
|
71
71
|
* @default 'client'
|
|
72
72
|
*/
|
|
73
73
|
parser?: 'client' | 'zod';
|
|
74
|
+
/**
|
|
75
|
+
* Which client should be used to do the HTTP calls
|
|
76
|
+
* - 'axios' will use `@kubb/plugin-client/clients/axios` to fetch data.
|
|
77
|
+
* - 'fetch' will use `@kubb/plugin-client/clients/fetch` to fetch data.
|
|
78
|
+
* @default 'axios'
|
|
79
|
+
*/
|
|
80
|
+
client?: 'axios' | 'fetch';
|
|
74
81
|
transformers?: {
|
|
75
82
|
/**
|
|
76
83
|
* Customize the names based on the type that is provided by the plugin.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-client",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Generator plugin-client",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
"require": "./dist/components.cjs",
|
|
37
37
|
"default": "./dist/components.cjs"
|
|
38
38
|
},
|
|
39
|
-
"./
|
|
40
|
-
"import": "./dist/
|
|
41
|
-
"require": "./dist/
|
|
42
|
-
"default": "./dist/
|
|
39
|
+
"./clients/axios": {
|
|
40
|
+
"import": "./dist/clients/axios.js",
|
|
41
|
+
"require": "./dist/clients/axios.cjs",
|
|
42
|
+
"default": "./dist/clients/axios.cjs"
|
|
43
43
|
},
|
|
44
|
-
"./
|
|
45
|
-
"import": "./
|
|
46
|
-
"require": "./
|
|
47
|
-
"default": "./
|
|
44
|
+
"./clients/fetch": {
|
|
45
|
+
"import": "./dist/clients/fetch.js",
|
|
46
|
+
"require": "./dist/clients/fetch.cjs",
|
|
47
|
+
"default": "./dist/clients/fetch.cjs"
|
|
48
48
|
},
|
|
49
49
|
"./package.json": "./package.json",
|
|
50
50
|
"./*": "./*"
|
|
@@ -59,6 +59,12 @@
|
|
|
59
59
|
],
|
|
60
60
|
"generators": [
|
|
61
61
|
"./dist/generators.d.ts"
|
|
62
|
+
],
|
|
63
|
+
"clients/axios": [
|
|
64
|
+
"./dist/clients/axios.d.ts"
|
|
65
|
+
],
|
|
66
|
+
"clients/fetch": [
|
|
67
|
+
"./dist/clients/fetch.d.ts"
|
|
62
68
|
]
|
|
63
69
|
}
|
|
64
70
|
},
|
|
@@ -72,20 +78,20 @@
|
|
|
72
78
|
"!/**/__tests__/**"
|
|
73
79
|
],
|
|
74
80
|
"dependencies": {
|
|
75
|
-
"@kubb/core": "3.
|
|
76
|
-
"@kubb/fs": "3.
|
|
77
|
-
"@kubb/oas": "3.
|
|
78
|
-
"@kubb/plugin-oas": "3.
|
|
79
|
-
"@kubb/plugin-ts": "3.
|
|
80
|
-
"@kubb/plugin-zod": "3.
|
|
81
|
-
"@kubb/react": "3.
|
|
81
|
+
"@kubb/core": "3.3.0",
|
|
82
|
+
"@kubb/fs": "3.3.0",
|
|
83
|
+
"@kubb/oas": "3.3.0",
|
|
84
|
+
"@kubb/plugin-oas": "3.3.0",
|
|
85
|
+
"@kubb/plugin-ts": "3.3.0",
|
|
86
|
+
"@kubb/plugin-zod": "3.3.0",
|
|
87
|
+
"@kubb/react": "3.3.0"
|
|
82
88
|
},
|
|
83
89
|
"devDependencies": {
|
|
84
90
|
"axios": "^1.7.9",
|
|
85
91
|
"tsup": "^8.3.5",
|
|
86
92
|
"typescript": "^5.7.2",
|
|
87
|
-
"@kubb/config-ts": "3.
|
|
88
|
-
"@kubb/config-tsup": "3.
|
|
93
|
+
"@kubb/config-ts": "3.3.0",
|
|
94
|
+
"@kubb/config-tsup": "3.3.0"
|
|
89
95
|
},
|
|
90
96
|
"peerDependencies": {
|
|
91
97
|
"@kubb/react": "^3.0.0",
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subset of AxiosRequestConfig
|
|
3
|
+
*/
|
|
4
|
+
export type RequestConfig<TData = unknown> = {
|
|
5
|
+
baseURL?: string
|
|
6
|
+
url?: string
|
|
7
|
+
method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS'
|
|
8
|
+
params?: unknown
|
|
9
|
+
data?: TData | FormData
|
|
10
|
+
responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'
|
|
11
|
+
signal?: AbortSignal
|
|
12
|
+
headers?: [string, string][] | Record<string, string>
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Subset of AxiosResponse
|
|
16
|
+
*/
|
|
17
|
+
export type ResponseConfig<TData = unknown> = {
|
|
18
|
+
data: TData
|
|
19
|
+
status: number
|
|
20
|
+
statusText: string
|
|
21
|
+
headers?: [string, string][] | Record<string, string>
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const fetchClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {
|
|
25
|
+
const response = await fetch('https://example.org/post', {
|
|
26
|
+
method: config.method.toUpperCase(),
|
|
27
|
+
body: JSON.stringify(config.data),
|
|
28
|
+
signal: config.signal,
|
|
29
|
+
headers: config.headers,
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
const data = (await response.json()) as TData
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
data,
|
|
36
|
+
status: response.status,
|
|
37
|
+
statusText: response.statusText,
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
fetchClient.getConfig = () => {
|
|
42
|
+
throw new Error('Not supported')
|
|
43
|
+
}
|
|
44
|
+
fetchClient.setConfig = () => {
|
|
45
|
+
throw new Error('Not supported')
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export default fetchClient
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
/* eslint-disable no-alert, no-console */
|
|
2
|
-
import client from
|
|
3
|
-
import type { RequestConfig } from
|
|
2
|
+
import client from '@kubb/plugin-client/clients/axios'
|
|
3
|
+
import type { RequestConfig } from '@kubb/plugin-client/clients/axios'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
6
|
* @description delete a pet
|
|
7
7
|
* @summary Deletes a pet
|
|
8
8
|
* {@link /pet/:petId}
|
|
9
9
|
*/
|
|
10
|
-
export async function deletePet(petId: DeletePetPathParams[
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
export async function deletePet(petId: DeletePetPathParams['petId'], headers?: DeletePetHeaderParams, config: Partial<RequestConfig> = {}) {
|
|
11
|
+
const res = await client<DeletePetMutationResponse, DeletePet400, unknown>({
|
|
12
|
+
method: 'DELETE',
|
|
13
|
+
url: `/pet/${petId}`,
|
|
14
|
+
headers: { ...headers, ...config.headers },
|
|
15
|
+
...config,
|
|
16
|
+
})
|
|
17
|
+
return res.data
|
|
13
18
|
}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
/* eslint-disable no-alert, no-console */
|
|
2
|
-
import client from
|
|
3
|
-
import type { RequestConfig } from
|
|
2
|
+
import client from '@kubb/plugin-client/clients/axios'
|
|
3
|
+
import type { RequestConfig } from '@kubb/plugin-client/clients/axios'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
6
|
* @description delete a pet
|
|
7
7
|
* @summary Deletes a pet
|
|
8
8
|
* {@link /pet/:petId}
|
|
9
9
|
*/
|
|
10
|
-
export async function deletePet({ petId }: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
export async function deletePet({ petId }: { petId: DeletePetPathParams['petId'] }, headers?: DeletePetHeaderParams, config: Partial<RequestConfig> = {}) {
|
|
11
|
+
const res = await client<DeletePetMutationResponse, DeletePet400, unknown>({
|
|
12
|
+
method: 'DELETE',
|
|
13
|
+
url: `/pet/${petId}`,
|
|
14
|
+
headers: { ...headers, ...config.headers },
|
|
15
|
+
...config,
|
|
16
|
+
})
|
|
17
|
+
return res.data
|
|
15
18
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* eslint-disable no-alert, no-console */
|
|
2
|
-
import client from
|
|
3
|
-
import type { RequestConfig } from
|
|
2
|
+
import client from '@kubb/plugin-client/clients/axios'
|
|
3
|
+
import type { RequestConfig } from '@kubb/plugin-client/clients/axios'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
6
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
7
7
|
* @summary Finds Pets by tags
|
|
8
8
|
* {@link /pet/findByTags}
|
|
9
9
|
*/
|
|
10
10
|
export async function findPetsByTags(params?: FindPetsByTagsQueryParams, config: Partial<RequestConfig> = {}) {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const res = await client<FindPetsByTagsQueryResponse, FindPetsByTags400, unknown>({ method: 'GET', url: `/pet/findByTags`, params, ...config })
|
|
12
|
+
return res.data
|
|
13
13
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* eslint-disable no-alert, no-console */
|
|
2
|
-
import client from
|
|
3
|
-
import type { RequestConfig } from
|
|
2
|
+
import client from '@kubb/plugin-client/clients/axios'
|
|
3
|
+
import type { RequestConfig } from '@kubb/plugin-client/clients/axios'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
6
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
7
7
|
* @summary Finds Pets by tags
|
|
8
8
|
* {@link /pet/findByTags}
|
|
9
9
|
*/
|
|
10
10
|
export async function findPetsByTags(params?: FindPetsByTagsQueryParams, config: Partial<RequestConfig> = {}) {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const res = await client<FindPetsByTagsQueryResponse, FindPetsByTags400, unknown>({ method: 'GET', url: `/pet/findByTags`, params, ...config })
|
|
12
|
+
return res
|
|
13
13
|
}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/* eslint-disable no-alert, no-console */
|
|
2
|
-
import client from
|
|
3
|
-
import type { RequestConfig } from
|
|
2
|
+
import client from '@kubb/plugin-client/clients/axios'
|
|
3
|
+
import type { RequestConfig } from '@kubb/plugin-client/clients/axios'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
6
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
7
7
|
* @summary Finds Pets by tags
|
|
8
8
|
* {@link /pet/findByTags}
|
|
9
9
|
*/
|
|
10
|
-
export async function findPetsByTags({ params }: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const res = await client<FindPetsByTagsQueryResponse, FindPetsByTags400, unknown>({ method: "GET", url: `/pet/findByTags`, params, ...config });
|
|
14
|
-
return res.data;
|
|
10
|
+
export async function findPetsByTags({ params }: { params?: FindPetsByTagsQueryParams }, config: Partial<RequestConfig> = {}) {
|
|
11
|
+
const res = await client<FindPetsByTagsQueryResponse, FindPetsByTags400, unknown>({ method: 'GET', url: `/pet/findByTags`, params, ...config })
|
|
12
|
+
return res.data
|
|
15
13
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* eslint-disable no-alert, no-console */
|
|
2
|
-
import client from
|
|
3
|
-
import type { RequestConfig } from
|
|
2
|
+
import client from '@kubb/plugin-client/clients/axios'
|
|
3
|
+
import type { RequestConfig } from '@kubb/plugin-client/clients/axios'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
6
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
7
7
|
* @summary Finds Pets by tags
|
|
8
8
|
* {@link /pet/findByTags}
|
|
9
9
|
*/
|
|
10
10
|
export async function findPetsByTags(params?: FindPetsByTagsQueryParams, config: Partial<RequestConfig> = {}) {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const res = await client<FindPetsByTagsQueryResponse, FindPetsByTags400, unknown>({ method: 'GET', url: `/pet/findByTags`, params, ...config })
|
|
12
|
+
return findPetsByTagsQueryResponse.parse(res.data)
|
|
13
13
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* eslint-disable no-alert, no-console */
|
|
2
|
-
import client from
|
|
3
|
-
import type { RequestConfig } from
|
|
2
|
+
import client from '@kubb/plugin-client/clients/axios'
|
|
3
|
+
import type { RequestConfig } from '@kubb/plugin-client/clients/axios'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
6
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
7
7
|
* @summary Finds Pets by tags
|
|
8
8
|
* {@link /pet/findByTags}
|
|
9
9
|
*/
|
|
10
10
|
export async function findPetsByTags(params?: FindPetsByTagsQueryParams, config: Partial<RequestConfig> = {}) {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const res = await client<FindPetsByTagsQueryResponse, FindPetsByTags400, unknown>({ method: 'GET', url: `/pet/findByTags`, params, ...config })
|
|
12
|
+
return { ...res, data: findPetsByTagsQueryResponse.parse(res.data) }
|
|
13
13
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* eslint-disable no-alert, no-console */
|
|
2
|
-
import client from
|
|
3
|
-
import type { RequestConfig } from
|
|
2
|
+
import client from 'axios'
|
|
3
|
+
import type { RequestConfig } from 'axios'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
6
|
* @description Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
|
7
7
|
* @summary Finds Pets by tags
|
|
8
8
|
* {@link /pet/findByTags}
|
|
9
9
|
*/
|
|
10
10
|
export async function findPetsByTags(params?: FindPetsByTagsQueryParams, config: Partial<RequestConfig> = {}) {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const res = await client<FindPetsByTagsQueryResponse, FindPetsByTags400, unknown>({ method: 'GET', url: `/pet/findByTags`, params, ...config })
|
|
12
|
+
return res.data
|
|
13
13
|
}
|
|
@@ -1,82 +1,82 @@
|
|
|
1
1
|
export const operations = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
} as const
|
|
2
|
+
updatePet: {
|
|
3
|
+
path: '/pet',
|
|
4
|
+
method: 'put',
|
|
5
|
+
},
|
|
6
|
+
addPet: {
|
|
7
|
+
path: '/pet',
|
|
8
|
+
method: 'post',
|
|
9
|
+
},
|
|
10
|
+
findPetsByStatus: {
|
|
11
|
+
path: '/pet/findByStatus',
|
|
12
|
+
method: 'get',
|
|
13
|
+
},
|
|
14
|
+
findPetsByTags: {
|
|
15
|
+
path: '/pet/findByTags',
|
|
16
|
+
method: 'get',
|
|
17
|
+
},
|
|
18
|
+
getPetById: {
|
|
19
|
+
path: '/pet/:petId',
|
|
20
|
+
method: 'get',
|
|
21
|
+
},
|
|
22
|
+
updatePetWithForm: {
|
|
23
|
+
path: '/pet/:petId',
|
|
24
|
+
method: 'post',
|
|
25
|
+
},
|
|
26
|
+
deletePet: {
|
|
27
|
+
path: '/pet/:petId',
|
|
28
|
+
method: 'delete',
|
|
29
|
+
},
|
|
30
|
+
uploadFile: {
|
|
31
|
+
path: '/pet/:petId/uploadImage',
|
|
32
|
+
method: 'post',
|
|
33
|
+
},
|
|
34
|
+
getInventory: {
|
|
35
|
+
path: '/store/inventory',
|
|
36
|
+
method: 'get',
|
|
37
|
+
},
|
|
38
|
+
placeOrder: {
|
|
39
|
+
path: '/store/order',
|
|
40
|
+
method: 'post',
|
|
41
|
+
},
|
|
42
|
+
placeOrderPatch: {
|
|
43
|
+
path: '/store/order',
|
|
44
|
+
method: 'patch',
|
|
45
|
+
},
|
|
46
|
+
getOrderById: {
|
|
47
|
+
path: '/store/order/:orderId',
|
|
48
|
+
method: 'get',
|
|
49
|
+
},
|
|
50
|
+
deleteOrder: {
|
|
51
|
+
path: '/store/order/:orderId',
|
|
52
|
+
method: 'delete',
|
|
53
|
+
},
|
|
54
|
+
createUser: {
|
|
55
|
+
path: '/user',
|
|
56
|
+
method: 'post',
|
|
57
|
+
},
|
|
58
|
+
createUsersWithListInput: {
|
|
59
|
+
path: '/user/createWithList',
|
|
60
|
+
method: 'post',
|
|
61
|
+
},
|
|
62
|
+
loginUser: {
|
|
63
|
+
path: '/user/login',
|
|
64
|
+
method: 'get',
|
|
65
|
+
},
|
|
66
|
+
logoutUser: {
|
|
67
|
+
path: '/user/logout',
|
|
68
|
+
method: 'get',
|
|
69
|
+
},
|
|
70
|
+
getUserByName: {
|
|
71
|
+
path: '/user/:username',
|
|
72
|
+
method: 'get',
|
|
73
|
+
},
|
|
74
|
+
updateUser: {
|
|
75
|
+
path: '/user/:username',
|
|
76
|
+
method: 'put',
|
|
77
|
+
},
|
|
78
|
+
deleteUser: {
|
|
79
|
+
path: '/user/:username',
|
|
80
|
+
method: 'delete',
|
|
81
|
+
},
|
|
82
|
+
} as const
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
/* eslint-disable no-alert, no-console */
|
|
2
|
-
import client from
|
|
3
|
-
import type { RequestConfig } from
|
|
2
|
+
import client from '@kubb/plugin-client/clients/axios'
|
|
3
|
+
import type { RequestConfig } from '@kubb/plugin-client/clients/axios'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
6
|
* @summary Updates a pet in the store with form data
|
|
7
7
|
* {@link /pet/:petId}
|
|
8
8
|
*/
|
|
9
|
-
export async function updatePetWithForm(
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
export async function updatePetWithForm(
|
|
10
|
+
petId: UpdatePetWithFormPathParams['petId'],
|
|
11
|
+
params?: UpdatePetWithFormQueryParams,
|
|
12
|
+
config: Partial<RequestConfig> = {},
|
|
13
|
+
) {
|
|
14
|
+
const res = await client<UpdatePetWithFormMutationResponse, UpdatePetWithForm405, unknown>({ method: 'POST', url: `/pet/${petId}`, params, ...config })
|
|
15
|
+
return res.data
|
|
12
16
|
}
|
package/src/plugin.ts
CHANGED
|
@@ -29,8 +29,9 @@ export const pluginClient = createPlugin<PluginClient>((options) => {
|
|
|
29
29
|
baseURL,
|
|
30
30
|
paramsCasing,
|
|
31
31
|
generators = [clientGenerator, group ? groupedClientGenerator : undefined, operations ? operationsGenerator : undefined].filter(Boolean),
|
|
32
|
-
importPath = '@kubb/plugin-client/client',
|
|
33
32
|
parser = 'client',
|
|
33
|
+
client = 'axios',
|
|
34
|
+
importPath = client === 'fetch' ? '@kubb/plugin-client/clients/fetch' : '@kubb/plugin-client/clients/axios',
|
|
34
35
|
} = options
|
|
35
36
|
|
|
36
37
|
return {
|
package/src/types.ts
CHANGED
|
@@ -33,7 +33,7 @@ export type Options = {
|
|
|
33
33
|
* Path to the client import path that will be used to do the API calls.
|
|
34
34
|
* It will be used as `import client from '${client.importPath}'`.
|
|
35
35
|
* It allows both relative and absolute path but be aware that we will not change the path.
|
|
36
|
-
* @default '@kubb/plugin-client/
|
|
36
|
+
* @default '@kubb/plugin-client/clients/axios'
|
|
37
37
|
*/
|
|
38
38
|
importPath?: string
|
|
39
39
|
/**
|
|
@@ -68,10 +68,17 @@ export type Options = {
|
|
|
68
68
|
pathParamsType?: 'object' | 'inline'
|
|
69
69
|
/**
|
|
70
70
|
* Which parser can be used before returning the data
|
|
71
|
-
* - 'zod'
|
|
71
|
+
* - 'zod' will use `@kubb/plugin-zod` to parse the data.
|
|
72
72
|
* @default 'client'
|
|
73
73
|
*/
|
|
74
74
|
parser?: 'client' | 'zod'
|
|
75
|
+
/**
|
|
76
|
+
* Which client should be used to do the HTTP calls
|
|
77
|
+
* - 'axios' will use `@kubb/plugin-client/clients/axios` to fetch data.
|
|
78
|
+
* - 'fetch' will use `@kubb/plugin-client/clients/fetch` to fetch data.
|
|
79
|
+
* @default 'axios'
|
|
80
|
+
*/
|
|
81
|
+
client?: 'axios' | 'fetch'
|
|
75
82
|
transformers?: {
|
|
76
83
|
/**
|
|
77
84
|
* Customize the names based on the type that is provided by the plugin.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generators/clientGenerator.tsx","../src/generators/groupedClientGenerator.tsx","../src/plugin.ts","../src/generators/operationsGenerator.tsx"],"names":["createReactGenerator","useApp","useOperationManager","pluginTsName","pluginZodName","File","jsx","Client","camelCase","jsxs","Function","createPlugin","transformers","pluginOasName","options","path","FileManager","PluginManager","baseURL","OperationGenerator","Operations"],"mappings":"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","file":"chunk-5ROWRWRX.cjs","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 paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n parser={options.parser}\n zodSchemas={zod.schemas}\n />\n </File>\n )\n },\n})\n","import { camelCase } from '@kubb/core/transformers'\nimport type * as KubbFile from '@kubb/fs/types'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { File, Function, useApp } from '@kubb/react'\nimport type { PluginClient } from '../types'\n\nexport const groupedClientGenerator = createReactGenerator<PluginClient>({\n name: 'groupedClient',\n Operations({ operations }) {\n const {\n pluginManager,\n plugin: { options, key: pluginKey },\n } = useApp<PluginClient>()\n const { getName, getFile } = useOperationManager()\n\n const controllers = operations.reduce(\n (acc, operation) => {\n if (options.group?.type === 'tag') {\n const tag = operation.getTags().at(0)?.name\n const name = tag ? options.group?.name?.({ group: camelCase(tag) }) : undefined\n\n if (!tag || !name) {\n return acc\n }\n\n const file = pluginManager.getFile({\n name,\n extname: '.ts',\n pluginKey,\n options: { group: tag },\n })\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.clients.push(client)\n } else {\n acc.push({ name, file, clients: [client] })\n }\n }\n\n return acc\n },\n [] as Array<{ name: string; file: KubbFile.File; clients: Array<{ name: string; file: KubbFile.File }> }>,\n )\n\n return controllers.map(({ name, file, clients }) => {\n return (\n <File key={file.path} baseName={file.baseName} path={file.path} meta={file.meta} banner={options.output?.banner} footer={options.output?.footer}>\n {clients.map((client) => (\n <File.Import key={client.name} name={[client.name]} root={file.path} path={client.file.path} />\n ))}\n\n <File.Source name={name} isExportable isIndexable>\n <Function export name={name}>\n {`return { ${clients.map((client) => client.name).join(', ')} }`}\n </Function>\n </File.Source>\n </File>\n )\n })\n },\n})\n","import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase } from '@kubb/core/transformers'\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 { groupedClientGenerator } from './generators/groupedClientGenerator.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 paramsType = 'inline',\n operations = false,\n baseURL,\n paramsCasing,\n generators = [clientGenerator, group ? groupedClientGenerator : undefined, operations ? operationsGenerator : undefined].filter(Boolean),\n importPath = '@kubb/plugin-client/client',\n parser = 'client',\n } = options\n\n return {\n name: pluginClientName,\n options: {\n output,\n group,\n parser,\n dataReturnType,\n importPath,\n paramsType,\n paramsCasing,\n pathParamsType: paramsType === 'object' ? 'object' : pathParamsType,\n baseURL,\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?.group && group) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(root, output.path, groupName({ group: options.group }), 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 baseURL\n ? {\n ...this.plugin.options,\n baseURL,\n }\n : this.plugin.options,\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 { 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 key: pluginKey,\n options: { output },\n },\n } = useApp<PluginClient>()\n\n const name = 'operations'\n const file = pluginManager.getFile({ name, extname: '.ts', pluginKey })\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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generators/clientGenerator.tsx","../src/generators/groupedClientGenerator.tsx","../src/plugin.ts","../src/generators/operationsGenerator.tsx"],"names":["createReactGenerator","useApp","useOperationManager","jsxs","File","jsx","pluginZodName","options","camelCase","baseURL"],"mappings":";;;;;;;;;;;AAQO,IAAM,kBAAkB,oBAAmC,CAAA;AAAA,EAChE,IAAM,EAAA,QAAA;AAAA,EACN,SAAU,CAAA,EAAE,OAAS,EAAA,SAAA,EAAa,EAAA;AAChC,IAAM,MAAA;AAAA,MACJ,MAAQ,EAAA;AAAA,QACN,OAAA,EAAS,EAAE,MAAO;AAAA;AACpB,QACE,MAAqB,EAAA;AACzB,IAAA,MAAM,EAAE,UAAA,EAAY,OAAS,EAAA,OAAA,KAAY,mBAAoB,EAAA;AAE7D,IAAA,MAAM,MAAS,GAAA;AAAA,MACb,MAAM,OAAQ,CAAA,SAAA,EAAW,EAAE,IAAA,EAAM,YAAY,CAAA;AAAA,MAC7C,IAAA,EAAM,QAAQ,SAAS;AAAA,KACzB;AAEA,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,IAAA,EAAM,QAAQ,SAAW,EAAA,EAAE,WAAW,CAAC,YAAY,GAAG,CAAA;AAAA,MACtD,OAAA,EAAS,UAAW,CAAA,SAAA,EAAW,EAAE,SAAA,EAAW,CAAC,YAAY,CAAA,EAAG,IAAM,EAAA,MAAA,EAAQ;AAAA,KAC5E;AAEA,IAAA,MAAM,GAAM,GAAA;AAAA,MACV,IAAA,EAAM,QAAQ,SAAW,EAAA,EAAE,WAAW,CAAC,aAAa,GAAG,CAAA;AAAA,MACvD,OAAA,EAAS,UAAW,CAAA,SAAA,EAAW,EAAE,SAAA,EAAW,CAAC,aAAa,CAAA,EAAG,IAAM,EAAA,UAAA,EAAY;AAAA,KACjF;AAEA,IAAA,4BACG,IAAK,EAAA,EAAA,QAAA,EAAU,OAAO,IAAK,CAAA,QAAA,EAAU,MAAM,MAAO,CAAA,IAAA,CAAK,MAAM,IAAM,EAAA,MAAA,CAAO,KAAK,IAAM,EAAA,MAAA,EAAQ,QAAQ,MAAQ,EAAA,MAAA,EAAQ,QAAQ,MAC5H,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,KAAK,MAAL,EAAA,EAAY,MAAM,QAAU,EAAA,IAAA,EAAM,QAAQ,UAAY,EAAA,CAAA;AAAA,sBACtD,GAAA,CAAA,IAAA,CAAK,MAAL,EAAA,EAAY,IAAM,EAAA,CAAC,eAAe,CAAA,EAAG,IAAM,EAAA,OAAA,CAAQ,UAAY,EAAA,UAAA,EAAU,IAAC,EAAA,CAAA;AAAA,MAC1E,OAAA,CAAQ,WAAW,KAAS,oBAAA,GAAA,CAAC,KAAK,MAAL,EAAA,EAAY,MAAM,CAAC,GAAA,CAAI,QAAQ,QAAS,CAAA,IAAI,GAAG,IAAM,EAAA,MAAA,CAAO,KAAK,IAAM,EAAA,IAAA,EAAM,GAAI,CAAA,IAAA,CAAK,IAAM,EAAA,CAAA;AAAA,sBAC1H,GAAA;AAAA,QAAC,IAAK,CAAA,MAAA;AAAA,QAAL;AAAA,UACC,IAAM,EAAA;AAAA,YACJ,IAAA,CAAK,QAAQ,OAAS,EAAA,IAAA;AAAA,YACtB,IAAA,CAAK,QAAQ,QAAS,CAAA,IAAA;AAAA,YACtB,IAAA,CAAK,QAAQ,UAAY,EAAA,IAAA;AAAA,YACzB,IAAA,CAAK,QAAQ,WAAa,EAAA,IAAA;AAAA,YAC1B,IAAA,CAAK,QAAQ,YAAc,EAAA,IAAA;AAAA,YAC3B,GAAI,IAAK,CAAA,OAAA,CAAQ,WAAa,EAAA,GAAA,CAAI,CAAC,IAAS,KAAA,IAAA,CAAK,IAAI,CAAA,IAAK;AAAC,WAC7D,CAAE,OAAO,OAAO,CAAA;AAAA,UAChB,IAAA,EAAM,OAAO,IAAK,CAAA,IAAA;AAAA,UAClB,IAAA,EAAM,KAAK,IAAK,CAAA,IAAA;AAAA,UAChB,UAAU,EAAA;AAAA;AAAA,OACZ;AAAA,sBAEA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,MAAM,MAAO,CAAA,IAAA;AAAA,UACb,SAAS,OAAQ,CAAA,OAAA;AAAA,UACjB,gBAAgB,OAAQ,CAAA,cAAA;AAAA,UACxB,gBAAgB,OAAQ,CAAA,cAAA;AAAA,UACxB,cAAc,OAAQ,CAAA,YAAA;AAAA,UACtB,YAAY,OAAQ,CAAA,UAAA;AAAA,UACpB,aAAa,IAAK,CAAA,OAAA;AAAA,UAClB,SAAA;AAAA,UACA,QAAQ,OAAQ,CAAA,MAAA;AAAA,UAChB,YAAY,GAAI,CAAA;AAAA;AAAA;AAClB,KACF,EAAA,CAAA;AAAA;AAGN,CAAC;AC3DM,IAAM,yBAAyBA,oBAAmC,CAAA;AAAA,EACvE,IAAM,EAAA,eAAA;AAAA,EACN,UAAA,CAAW,EAAE,UAAA,EAAc,EAAA;AACzB,IAAM,MAAA;AAAA,MACJ,aAAA;AAAA,MACA,MAAQ,EAAA,EAAE,OAAS,EAAA,GAAA,EAAK,SAAU;AAAA,QAChCC,MAAqB,EAAA;AACzB,IAAA,MAAM,EAAE,OAAA,EAAS,OAAQ,EAAA,GAAIC,mBAAoB,EAAA;AAEjD,IAAA,MAAM,cAAc,UAAW,CAAA,MAAA;AAAA,MAC7B,CAAC,KAAK,SAAc,KAAA;AAClB,QAAI,IAAA,OAAA,CAAQ,KAAO,EAAA,IAAA,KAAS,KAAO,EAAA;AACjC,UAAA,MAAM,MAAM,SAAU,CAAA,OAAA,EAAU,CAAA,EAAA,CAAG,CAAC,CAAG,EAAA,IAAA;AACvC,UAAM,MAAA,IAAA,GAAO,GAAM,GAAA,OAAA,CAAQ,KAAO,EAAA,IAAA,GAAO,EAAE,KAAA,EAAO,SAAU,CAAA,GAAG,CAAE,EAAC,CAAI,GAAA,KAAA,CAAA;AAEtE,UAAI,IAAA,CAAC,GAAO,IAAA,CAAC,IAAM,EAAA;AACjB,YAAO,OAAA,GAAA;AAAA;AAGT,UAAM,MAAA,IAAA,GAAO,cAAc,OAAQ,CAAA;AAAA,YACjC,IAAA;AAAA,YACA,OAAS,EAAA,KAAA;AAAA,YACT,SAAA;AAAA,YACA,OAAA,EAAS,EAAE,KAAA,EAAO,GAAI;AAAA,WACvB,CAAA;AAED,UAAA,MAAM,MAAS,GAAA;AAAA,YACb,MAAM,OAAQ,CAAA,SAAA,EAAW,EAAE,IAAA,EAAM,YAAY,CAAA;AAAA,YAC7C,IAAA,EAAM,QAAQ,SAAS;AAAA,WACzB;AAEA,UAAM,MAAA,YAAA,GAAe,IAAI,IAAK,CAAA,CAAC,SAAS,IAAK,CAAA,IAAA,CAAK,IAAS,KAAA,IAAA,CAAK,IAAI,CAAA;AAEpE,UAAA,IAAI,YAAc,EAAA;AAChB,YAAa,YAAA,CAAA,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,WAC3B,MAAA;AACL,YAAI,GAAA,CAAA,IAAA,CAAK,EAAE,IAAM,EAAA,IAAA,EAAM,SAAS,CAAC,MAAM,GAAG,CAAA;AAAA;AAC5C;AAGF,QAAO,OAAA,GAAA;AAAA,OACT;AAAA,MACA;AAAC,KACH;AAEA,IAAA,OAAO,YAAY,GAAI,CAAA,CAAC,EAAE,IAAM,EAAA,IAAA,EAAM,SAAc,KAAA;AAClD,MACE,uBAAAC,KAACC,IAAA,EAAA,EAAqB,UAAU,IAAK,CAAA,QAAA,EAAU,MAAM,IAAK,CAAA,IAAA,EAAM,MAAM,IAAK,CAAA,IAAA,EAAM,QAAQ,OAAQ,CAAA,MAAA,EAAQ,QAAQ,MAAQ,EAAA,OAAA,CAAQ,QAAQ,MACtI,EAAA,QAAA,EAAA;AAAA,QAAQ,OAAA,CAAA,GAAA,CAAI,CAAC,MACZ,qBAAAC,IAACD,IAAK,CAAA,MAAA,EAAL,EAA8B,IAAA,EAAM,CAAC,MAAA,CAAO,IAAI,CAAG,EAAA,IAAA,EAAM,KAAK,IAAM,EAAA,IAAA,EAAM,OAAO,IAAK,CAAA,IAAA,EAAA,EAArE,MAAO,CAAA,IAAoE,CAC9F,CAAA;AAAA,wBAEDC,GAAAA,CAACD,IAAK,CAAA,MAAA,EAAL,EAAY,IAAA,EAAY,YAAY,EAAA,IAAA,EAAC,WAAW,EAAA,IAAA,EAC/C,QAAAC,kBAAAA,GAAAA,CAAC,QAAS,EAAA,EAAA,MAAA,EAAM,IAAC,EAAA,IAAA,EACd,QAAY,EAAA,CAAA,SAAA,EAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,MAAW,KAAA,MAAA,CAAO,IAAI,CAAA,CAAE,IAAK,CAAA,IAAI,CAAC,CAAA,EAAA,CAAA,EAC9D,CACF,EAAA;AAAA,OAAA,EAAA,EATS,KAAK,IAUhB,CAAA;AAAA,KAEH,CAAA;AAAA;AAEL,CAAC;;;ACvDM,IAAM,gBAAmB,GAAA;AAEnB,IAAA,YAAA,GAAe,YAA2B,CAAA,CAAC,OAAY,KAAA;AAClE,EAAM,MAAA;AAAA,IACJ,MAAS,GAAA,EAAE,IAAM,EAAA,SAAA,EAAW,YAAY,OAAQ,EAAA;AAAA,IAChD,KAAA;AAAA,IACA,UAAU,EAAC;AAAA,IACX,OAAA;AAAA,IACA,WAAW,EAAC;AAAA,IACZ,eAAe,EAAC;AAAA,IAChB,cAAiB,GAAA,MAAA;AAAA,IACjB,cAAiB,GAAA,QAAA;AAAA,IACjB,UAAa,GAAA,QAAA;AAAA,IACb,UAAa,GAAA,KAAA;AAAA,IACb,OAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA,GAAa,CAAC,eAAA,EAAiB,KAAQ,GAAA,sBAAA,GAAyB,KAAW,CAAA,EAAA,UAAA,GAAa,mBAAsB,GAAA,KAAA,CAAS,CAAE,CAAA,MAAA,CAAO,OAAO,CAAA;AAAA,IACvI,UAAa,GAAA,4BAAA;AAAA,IACb,MAAS,GAAA;AAAA,GACP,GAAA,OAAA;AAEJ,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,gBAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACP,MAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA,EAAgB,UAAe,KAAA,QAAA,GAAW,QAAW,GAAA,cAAA;AAAA,MACrD;AAAA,KACF;AAAA,IACA,GAAA,EAAK,CAAC,aAAe,EAAA,MAAA,KAAW,QAAQC,aAAgB,GAAA,KAAA,CAAS,CAAE,CAAA,MAAA,CAAO,OAAO,CAAA;AAAA,IACjF,WAAA,CAAY,QAAU,EAAA,QAAA,EAAUC,QAAS,EAAA;AACvC,MAAM,MAAA,IAAA,GAAO,KAAK,OAAQ,CAAA,IAAA,CAAK,OAAO,IAAM,EAAA,IAAA,CAAK,MAAO,CAAA,MAAA,CAAO,IAAI,CAAA;AACnE,MAAM,MAAA,IAAA,GAAO,YAAY,WAAY,CAAA,OAAA,CAAQ,KAAK,OAAQ,CAAA,IAAA,EAAM,MAAO,CAAA,IAAI,CAAC,CAAA;AAE5E,MAAA,IAAI,SAAS,QAAU,EAAA;AAKrB,QAAA,OAAO,IAAK,CAAA,OAAA,CAAQ,IAAM,EAAA,MAAA,CAAO,IAAI,CAAA;AAAA;AAGvC,MAAIA,IAAAA,QAAAA,EAAS,SAAS,KAAO,EAAA;AAC3B,QAAA,MAAM,YAA2B,KAAO,EAAA,IAAA,GACpC,KAAM,CAAA,IAAA,GACN,CAAC,GAAQ,KAAA;AACP,UAAI,IAAA,KAAA,EAAO,SAAS,MAAQ,EAAA;AAC1B,YAAA,OAAO,GAAG,GAAI,CAAA,KAAA,CAAM,MAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA;AAAA;AAEnC,UAAA,OAAO,CAAGC,EAAAA,SAAAA,CAAU,GAAI,CAAA,KAAK,CAAC,CAAA,UAAA,CAAA;AAAA,SAChC;AAEJ,QAAA,OAAO,IAAK,CAAA,OAAA,CAAQ,IAAM,EAAA,MAAA,CAAO,IAAM,EAAA,SAAA,CAAU,EAAE,KAAA,EAAOD,QAAQ,CAAA,KAAA,EAAO,CAAA,EAAG,QAAQ,CAAA;AAAA;AAGtF,MAAA,OAAO,IAAK,CAAA,OAAA,CAAQ,IAAM,EAAA,MAAA,CAAO,MAAM,QAAQ,CAAA;AAAA,KACjD;AAAA,IACA,WAAA,CAAY,MAAM,IAAM,EAAA;AACtB,MAAA,MAAM,eAAeC,SAAU,CAAA,IAAA,EAAM,EAAE,MAAQ,EAAA,IAAA,KAAS,QAAQ,CAAA;AAEhE,MAAA,IAAI,IAAM,EAAA;AACR,QAAA,OAAO,YAAc,EAAA,IAAA,GAAO,YAAc,EAAA,IAAI,CAAK,IAAA,YAAA;AAAA;AAGrD,MAAO,OAAA,YAAA;AAAA,KACT;AAAA,IACA,MAAM,UAAa,GAAA;AACjB,MAAM,MAAA,CAAC,aAAa,CAAoC,GAAA,aAAA,CAAc,mBAAyC,IAAK,CAAA,OAAA,EAAS,CAAC,aAAa,CAAC,CAAA;AAE5I,MAAA,MAAM,GAAM,GAAA,MAAM,aAAc,CAAA,OAAA,CAAQ,MAAO,EAAA;AAC/C,MAAM,MAAA,IAAA,GAAO,KAAK,OAAQ,CAAA,IAAA,CAAK,OAAO,IAAM,EAAA,IAAA,CAAK,MAAO,CAAA,MAAA,CAAO,IAAI,CAAA;AACnE,MAAM,MAAA,IAAA,GAAO,YAAY,OAAQ,CAAA,IAAA,CAAK,QAAQ,IAAM,EAAA,MAAA,CAAO,IAAI,CAAC,CAAA;AAChE,MAAA,MAAMC,QAAU,GAAA,MAAM,aAAc,CAAA,OAAA,CAAQ,UAAW,EAAA;AAEvD,MAAA,MAAM,qBAAqB,IAAI,kBAAA;AAAA,QAC7BA,QACI,GAAA;AAAA,UACE,GAAG,KAAK,MAAO,CAAA,OAAA;AAAA,UACf,OAAAA,EAAAA;AAAA,SACF,GACA,KAAK,MAAO,CAAA,OAAA;AAAA,QAChB;AAAA,UACE,GAAA;AAAA,UACA,eAAe,IAAK,CAAA,aAAA;AAAA,UACpB,QAAQ,IAAK,CAAA,MAAA;AAAA,UACb,WAAA,EAAa,cAAc,OAAQ,CAAA,WAAA;AAAA,UACnC,OAAA;AAAA,UACA,OAAA;AAAA,UACA,QAAA;AAAA,UACA;AAAA;AACF,OACF;AAEA,MAAA,MAAM,KAAQ,GAAA,MAAM,kBAAmB,CAAA,KAAA,CAAM,GAAG,UAAU,CAAA;AAE1D,MAAM,MAAA,IAAA,CAAK,OAAQ,CAAA,GAAG,KAAK,CAAA;AAE3B,MAAA,MAAM,WAAc,GAAA,MAAM,IAAK,CAAA,WAAA,CAAY,cAAe,CAAA;AAAA,QACxD,IAAA,EAAM,OAAO,UAAc,IAAA,OAAA;AAAA,QAC3B,IAAA;AAAA,QACA,MAAA;AAAA,QACA,KAAA,EAAO,KAAK,WAAY,CAAA,KAAA;AAAA,QACxB,IAAM,EAAA;AAAA,UACJ,SAAA,EAAW,KAAK,MAAO,CAAA;AAAA,SACzB;AAAA,QACA,QAAQ,IAAK,CAAA;AAAA,OACd,CAAA;AAED,MAAM,MAAA,IAAA,CAAK,OAAQ,CAAA,GAAG,WAAW,CAAA;AAAA;AACnC,GACF;AACF,CAAC;AC5HM,IAAM,sBAAsBT,oBAAmC,CAAA;AAAA,EACpE,IAAM,EAAA,QAAA;AAAA,EACN,UAAA,CAAW,EAAE,UAAA,EAAc,EAAA;AACzB,IAAM,MAAA;AAAA,MACJ,aAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,GAAK,EAAA,SAAA;AAAA,QACL,OAAA,EAAS,EAAE,MAAO;AAAA;AACpB,QACEC,MAAqB,EAAA;AAEzB,IAAA,MAAM,IAAO,GAAA,YAAA;AACb,IAAM,MAAA,IAAA,GAAO,cAAc,OAAQ,CAAA,EAAE,MAAM,OAAS,EAAA,KAAA,EAAO,WAAW,CAAA;AAEtE,IACE,uBAAAI,GAACD,CAAAA,IAAAA,EAAA,EAAK,QAAA,EAAU,KAAK,QAAU,EAAA,IAAA,EAAM,IAAK,CAAA,IAAA,EAAM,IAAM,EAAA,IAAA,CAAK,MAAM,MAAQ,EAAA,MAAA,EAAQ,MAAQ,EAAA,MAAA,EAAQ,MAAQ,EAAA,MAAA,EACvG,0BAAAC,GAAC,CAAA,UAAA,EAAA,EAAW,IAAY,EAAA,UAAA,EAAwB,CAClD,EAAA,CAAA;AAAA;AAGN,CAAC","file":"chunk-ZL2JXZSZ.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 paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n parser={options.parser}\n zodSchemas={zod.schemas}\n />\n </File>\n )\n },\n})\n","import { camelCase } from '@kubb/core/transformers'\nimport type * as KubbFile from '@kubb/fs/types'\nimport { pluginClientName } from '@kubb/plugin-client'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { File, Function, useApp } from '@kubb/react'\nimport type { PluginClient } from '../types'\n\nexport const groupedClientGenerator = createReactGenerator<PluginClient>({\n name: 'groupedClient',\n Operations({ operations }) {\n const {\n pluginManager,\n plugin: { options, key: pluginKey },\n } = useApp<PluginClient>()\n const { getName, getFile } = useOperationManager()\n\n const controllers = operations.reduce(\n (acc, operation) => {\n if (options.group?.type === 'tag') {\n const tag = operation.getTags().at(0)?.name\n const name = tag ? options.group?.name?.({ group: camelCase(tag) }) : undefined\n\n if (!tag || !name) {\n return acc\n }\n\n const file = pluginManager.getFile({\n name,\n extname: '.ts',\n pluginKey,\n options: { group: tag },\n })\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const previousFile = acc.find((item) => item.file.path === file.path)\n\n if (previousFile) {\n previousFile.clients.push(client)\n } else {\n acc.push({ name, file, clients: [client] })\n }\n }\n\n return acc\n },\n [] as Array<{ name: string; file: KubbFile.File; clients: Array<{ name: string; file: KubbFile.File }> }>,\n )\n\n return controllers.map(({ name, file, clients }) => {\n return (\n <File key={file.path} baseName={file.baseName} path={file.path} meta={file.meta} banner={options.output?.banner} footer={options.output?.footer}>\n {clients.map((client) => (\n <File.Import key={client.name} name={[client.name]} root={file.path} path={client.file.path} />\n ))}\n\n <File.Source name={name} isExportable isIndexable>\n <Function export name={name}>\n {`return { ${clients.map((client) => client.name).join(', ')} }`}\n </Function>\n </File.Source>\n </File>\n )\n })\n },\n})\n","import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase } from '@kubb/core/transformers'\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 { groupedClientGenerator } from './generators/groupedClientGenerator.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 paramsType = 'inline',\n operations = false,\n baseURL,\n paramsCasing,\n generators = [clientGenerator, group ? groupedClientGenerator : undefined, operations ? operationsGenerator : undefined].filter(Boolean),\n importPath = '@kubb/plugin-client/client',\n parser = 'client',\n } = options\n\n return {\n name: pluginClientName,\n options: {\n output,\n group,\n parser,\n dataReturnType,\n importPath,\n paramsType,\n paramsCasing,\n pathParamsType: paramsType === 'object' ? 'object' : pathParamsType,\n baseURL,\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?.group && group) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(root, output.path, groupName({ group: options.group }), 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 baseURL\n ? {\n ...this.plugin.options,\n baseURL,\n }\n : this.plugin.options,\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 { 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 key: pluginKey,\n options: { output },\n },\n } = useApp<PluginClient>()\n\n const name = 'operations'\n const file = pluginManager.getFile({ name, extname: '.ts', pluginKey })\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"]}
|
package/dist/client.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../client.ts"],"names":["axios"],"mappings":";;;;;;;;;;;AA8BA,IAAI,OAAkC,GAAA;AAAA,EACpC,OAAS,EAAA,OAAO,UAAe,KAAA,WAAA,GAAc,UAAa,GAAA,KAAA,CAAA;AAAA,EAC1D,SAAS,OAAO,aAAA,KAAkB,cAAe,IAAK,CAAA,KAAA,CAAM,aAAa,CAAqB,GAAA,KAAA;AAChG,CAAA;AAEO,IAAM,YAAY,MAAM;AAElB,IAAA,SAAA,GAAY,CAAC,MAA0B,KAAA;AAClD,EAAU,OAAA,GAAA,MAAA;AACV,EAAA,OAAO,SAAU,EAAA;AACnB;AAEO,IAAM,aAAgB,GAAAA,sBAAA,CAAM,MAAO,CAAA,SAAA,EAAW;AAExC,IAAA,WAAA,GAAc,OAAsD,MAAsE,KAAA;AACrJ,EAAA,MAAM,eAAe,SAAU,EAAA;AAE/B,EAAA,OAAO,cACJ,OAAsC,CAAA;AAAA,IACrC,GAAG,YAAA;AAAA,IACH,GAAG,MAAA;AAAA,IACH,OAAS,EAAA;AAAA,MACP,GAAG,YAAa,CAAA,OAAA;AAAA,MAChB,GAAG,MAAO,CAAA;AAAA;AACZ,GACD,CAAA,CACA,KAAM,CAAA,CAAC,CAA0B,KAAA;AAChC,IAAM,MAAA,CAAA;AAAA,GACP,CAAA;AACL;AAEA,WAAA,CAAY,SAAY,GAAA,SAAA;AACxB,WAAA,CAAY,SAAY,GAAA,SAAA;AAExB,IAAO,cAAQ,GAAA","file":"client.cjs","sourcesContent":["import axios from 'axios'\n\nimport type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: AxiosRequestConfig['headers']\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: AxiosResponse['headers']\n}\n\nlet _config: Partial<RequestConfig> = {\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: RequestConfig) => {\n _config = config\n return getConfig()\n}\n\nexport const axiosInstance = axios.create(getConfig())\n\nexport const axiosClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const globalConfig = getConfig()\n\n return axiosInstance\n .request<TData, ResponseConfig<TData>>({\n ...globalConfig,\n ...config,\n headers: {\n ...globalConfig.headers,\n ...config.headers,\n },\n })\n .catch((e: AxiosError<TError>) => {\n throw e\n })\n}\n\naxiosClient.getConfig = getConfig\naxiosClient.setConfig = setConfig\n\nexport default axiosClient\n"]}
|
package/dist/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../client.ts"],"names":[],"mappings":";;;AA8BA,IAAI,OAAkC,GAAA;AAAA,EACpC,OAAS,EAAA,OAAO,UAAe,KAAA,WAAA,GAAc,UAAa,GAAA,KAAA,CAAA;AAAA,EAC1D,SAAS,OAAO,aAAA,KAAkB,cAAe,IAAK,CAAA,KAAA,CAAM,aAAa,CAAqB,GAAA,KAAA;AAChG,CAAA;AAEO,IAAM,YAAY,MAAM;AAElB,IAAA,SAAA,GAAY,CAAC,MAA0B,KAAA;AAClD,EAAU,OAAA,GAAA,MAAA;AACV,EAAA,OAAO,SAAU,EAAA;AACnB;AAEO,IAAM,aAAgB,GAAA,KAAA,CAAM,MAAO,CAAA,SAAA,EAAW;AAExC,IAAA,WAAA,GAAc,OAAsD,MAAsE,KAAA;AACrJ,EAAA,MAAM,eAAe,SAAU,EAAA;AAE/B,EAAA,OAAO,cACJ,OAAsC,CAAA;AAAA,IACrC,GAAG,YAAA;AAAA,IACH,GAAG,MAAA;AAAA,IACH,OAAS,EAAA;AAAA,MACP,GAAG,YAAa,CAAA,OAAA;AAAA,MAChB,GAAG,MAAO,CAAA;AAAA;AACZ,GACD,CAAA,CACA,KAAM,CAAA,CAAC,CAA0B,KAAA;AAChC,IAAM,MAAA,CAAA;AAAA,GACP,CAAA;AACL;AAEA,WAAA,CAAY,SAAY,GAAA,SAAA;AACxB,WAAA,CAAY,SAAY,GAAA,SAAA;AAExB,IAAO,cAAQ,GAAA","file":"client.js","sourcesContent":["import axios from 'axios'\n\nimport type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from 'axios'\n\ndeclare const AXIOS_BASE: string\ndeclare const AXIOS_HEADERS: string\n\n/**\n * Subset of AxiosRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n headers?: AxiosRequestConfig['headers']\n}\n/**\n * Subset of AxiosResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers?: AxiosResponse['headers']\n}\n\nlet _config: Partial<RequestConfig> = {\n baseURL: typeof AXIOS_BASE !== 'undefined' ? AXIOS_BASE : undefined,\n headers: typeof AXIOS_HEADERS !== 'undefined' ? (JSON.parse(AXIOS_HEADERS) as AxiosHeaders) : undefined,\n}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: RequestConfig) => {\n _config = config\n return getConfig()\n}\n\nexport const axiosInstance = axios.create(getConfig())\n\nexport const axiosClient = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const globalConfig = getConfig()\n\n return axiosInstance\n .request<TData, ResponseConfig<TData>>({\n ...globalConfig,\n ...config,\n headers: {\n ...globalConfig.headers,\n ...config.headers,\n },\n })\n .catch((e: AxiosError<TError>) => {\n throw e\n })\n}\n\naxiosClient.getConfig = getConfig\naxiosClient.setConfig = setConfig\n\nexport default axiosClient\n"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|