@kubb/plugin-client 4.5.7 → 4.5.9
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/{Operations-CTvMCPaa.cjs → Operations-6d1309lt.cjs} +2 -2
- package/dist/{Operations-CTvMCPaa.cjs.map → Operations-6d1309lt.cjs.map} +1 -1
- package/dist/{Operations-HWuo-D3O.js → Operations-B7ICm4Kn.js} +1 -1
- package/dist/{Operations-HWuo-D3O.js.map → Operations-B7ICm4Kn.js.map} +1 -1
- package/dist/chunk-CUT6urMc.cjs +30 -0
- package/dist/clients/axios.cjs +40 -0
- package/dist/clients/axios.cjs.map +1 -0
- package/dist/clients/axios.d.cts +39 -0
- package/dist/clients/axios.d.ts +39 -0
- package/dist/clients/axios.js +33 -0
- package/dist/clients/axios.js.map +1 -0
- package/dist/clients/fetch.cjs +48 -0
- package/dist/clients/fetch.cjs.map +1 -0
- package/dist/clients/fetch.d.cts +39 -0
- package/dist/clients/fetch.d.ts +39 -0
- package/dist/clients/fetch.js +43 -0
- package/dist/clients/fetch.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.d.cts +1 -1
- package/dist/components.d.ts +1 -1
- package/dist/components.js +1 -1
- package/dist/{generators-CQvDx6Mq.js → generators-BoB4gEqA.js} +5 -5
- package/dist/generators-BoB4gEqA.js.map +1 -0
- package/dist/{generators-f5-oi9Hx.cjs → generators-NmR9v8nl.cjs} +7 -35
- package/dist/generators-NmR9v8nl.cjs.map +1 -0
- package/dist/generators.cjs +2 -2
- package/dist/generators.d.cts +1 -1
- package/dist/generators.d.ts +1 -1
- package/dist/generators.js +2 -2
- package/dist/index.cjs +15 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +13 -10
- package/dist/index.js.map +1 -1
- package/dist/{types-CDBKpdup.d.ts → types-CgY5O5ai.d.cts} +9 -2
- package/dist/{types-C8tGU2Ir.d.cts → types-DQZ242PD.d.ts} +9 -2
- package/package.json +22 -8
- package/src/clients/axios.ts +68 -0
- package/src/clients/fetch.ts +81 -0
- package/src/generators/__snapshots__/deletePet.ts +2 -2
- package/src/generators/__snapshots__/deletePetObject.ts +2 -2
- package/src/generators/__snapshots__/findByTags.ts +2 -2
- package/src/generators/__snapshots__/findByTagsFull.ts +2 -2
- package/src/generators/__snapshots__/findByTagsObject.ts +2 -2
- package/src/generators/__snapshots__/findByTagsWithZod.ts +2 -2
- package/src/generators/__snapshots__/findByTagsWithZodFull.ts +2 -2
- package/src/generators/__snapshots__/updatePetById.ts +2 -2
- package/src/generators/__snapshots__/updatePetByIdClean.ts +2 -2
- package/src/generators/clientGenerator.tsx +2 -2
- package/src/plugin.ts +13 -7
- package/src/types.ts +7 -0
- package/templates/clients/axios.ts +3 -5
- package/templates/clients/fetch.ts +4 -6
- package/dist/generators-CQvDx6Mq.js.map +0 -1
- package/dist/generators-f5-oi9Hx.cjs.map +0 -1
- /package/dist/{chunk-DMmIE7y6.js → chunk-BEWQA2LH.js} +0 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RequestCredentials
|
|
3
|
+
*/
|
|
4
|
+
export type RequestCredentials = 'omit' | 'same-origin' | 'include'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Subset of FetchRequestConfig
|
|
8
|
+
*/
|
|
9
|
+
export type RequestConfig<TData = unknown> = {
|
|
10
|
+
baseURL?: string
|
|
11
|
+
url?: string
|
|
12
|
+
method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'
|
|
13
|
+
params?: unknown
|
|
14
|
+
data?: TData | FormData
|
|
15
|
+
responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'
|
|
16
|
+
signal?: AbortSignal
|
|
17
|
+
headers?: [string, string][] | Record<string, string>
|
|
18
|
+
credentials?: RequestCredentials
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Subset of FetchResponse
|
|
23
|
+
*/
|
|
24
|
+
export type ResponseConfig<TData = unknown> = {
|
|
25
|
+
data: TData
|
|
26
|
+
status: number
|
|
27
|
+
statusText: string
|
|
28
|
+
headers: Headers
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
let _config: Partial<RequestConfig> = {}
|
|
32
|
+
|
|
33
|
+
export const getConfig = () => _config
|
|
34
|
+
|
|
35
|
+
export const setConfig = (config: Partial<RequestConfig>) => {
|
|
36
|
+
_config = config
|
|
37
|
+
return getConfig()
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export type ResponseErrorConfig<TError = unknown> = TError
|
|
41
|
+
|
|
42
|
+
export const client = async <TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {
|
|
43
|
+
const normalizedParams = new URLSearchParams()
|
|
44
|
+
|
|
45
|
+
const globalConfig = getConfig()
|
|
46
|
+
const config = { ...globalConfig, ...paramsConfig }
|
|
47
|
+
|
|
48
|
+
Object.entries(config.params || {}).forEach(([key, value]) => {
|
|
49
|
+
if (value !== undefined) {
|
|
50
|
+
normalizedParams.append(key, value === null ? 'null' : value.toString())
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
let targetUrl = [config.baseURL, config.url].filter(Boolean).join('')
|
|
55
|
+
|
|
56
|
+
if (config.params) {
|
|
57
|
+
targetUrl += `?${normalizedParams}`
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const response = await fetch(targetUrl, {
|
|
61
|
+
credentials: config.credentials || 'same-origin',
|
|
62
|
+
method: config.method?.toUpperCase(),
|
|
63
|
+
body: JSON.stringify(config.data),
|
|
64
|
+
signal: config.signal,
|
|
65
|
+
headers: config.headers,
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
const data = [204, 205, 304].includes(response.status) || !response.body ? {} : await response.json()
|
|
69
|
+
|
|
70
|
+
return {
|
|
71
|
+
data: data as TData,
|
|
72
|
+
status: response.status,
|
|
73
|
+
statusText: response.statusText,
|
|
74
|
+
headers: response.headers as Headers,
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
client.getConfig = getConfig
|
|
79
|
+
client.setConfig = setConfig
|
|
80
|
+
|
|
81
|
+
export default client
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Generated by Kubb (https://kubb.dev/).
|
|
4
4
|
* Do not edit manually.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
|
|
7
|
+
import { fetch } from './test/.kubb/fetch'
|
|
8
8
|
|
|
9
9
|
export function getDeletePetUrl(petId: DeletePetPathParams['petId']) {
|
|
10
10
|
const res = { method: 'DELETE', url: `/pet/${petId}` as const }
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Generated by Kubb (https://kubb.dev/).
|
|
4
4
|
* Do not edit manually.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
|
|
7
|
+
import { fetch } from './test/.kubb/fetch'
|
|
8
8
|
|
|
9
9
|
export function getDeletePetUrl({ petId }: { petId: DeletePetPathParams['petId'] }) {
|
|
10
10
|
const res = { method: 'DELETE', url: `/pet/${petId}` as const }
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Generated by Kubb (https://kubb.dev/).
|
|
4
4
|
* Do not edit manually.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
|
|
7
|
+
import { fetch } from './test/.kubb/fetch'
|
|
8
8
|
|
|
9
9
|
export function getFindPetsByTagsUrl() {
|
|
10
10
|
const res = { method: 'GET', url: `/pet/findByTags` as const }
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Generated by Kubb (https://kubb.dev/).
|
|
4
4
|
* Do not edit manually.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
|
|
7
|
+
import { fetch } from './test/.kubb/fetch'
|
|
8
8
|
|
|
9
9
|
export function getFindPetsByTagsUrl() {
|
|
10
10
|
const res = { method: 'GET', url: `/pet/findByTags` as const }
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Generated by Kubb (https://kubb.dev/).
|
|
4
4
|
* Do not edit manually.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
|
|
7
|
+
import { fetch } from './test/.kubb/fetch'
|
|
8
8
|
|
|
9
9
|
export function getFindPetsByTagsUrl() {
|
|
10
10
|
const res = { method: 'GET', url: `/pet/findByTags` as const }
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Generated by Kubb (https://kubb.dev/).
|
|
4
4
|
* Do not edit manually.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
|
|
7
|
+
import { fetch } from './test/.kubb/fetch'
|
|
8
8
|
|
|
9
9
|
export function getFindPetsByTagsUrl() {
|
|
10
10
|
const res = { method: 'GET', url: `/pet/findByTags` as const }
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Generated by Kubb (https://kubb.dev/).
|
|
4
4
|
* Do not edit manually.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
|
|
7
|
+
import { fetch } from './test/.kubb/fetch'
|
|
8
8
|
|
|
9
9
|
export function getFindPetsByTagsUrl() {
|
|
10
10
|
const res = { method: 'GET', url: `/pet/findByTags` as const }
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Generated by Kubb (https://kubb.dev/).
|
|
4
4
|
* Do not edit manually.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
|
|
7
|
+
import { fetch } from './test/.kubb/fetch'
|
|
8
8
|
|
|
9
9
|
export function getUpdatePetWithFormUrl(petId: UpdatePetWithFormPathParams['petId']) {
|
|
10
10
|
const res = { method: 'POST', url: `/pet/${petId}` as const }
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Generated by Kubb (https://kubb.dev/).
|
|
4
4
|
* Do not edit manually.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
|
|
7
|
+
import { fetch } from './test/.kubb/fetch'
|
|
8
8
|
|
|
9
9
|
function getUpdatePetWithFormUrl(petId: UpdatePetWithFormPathParams['petId']) {
|
|
10
10
|
const res = { method: 'POST', url: `/pet/${petId}` as const }
|
|
@@ -57,11 +57,11 @@ export const clientGenerator = createReactGenerator<PluginClient>({
|
|
|
57
57
|
</>
|
|
58
58
|
) : (
|
|
59
59
|
<>
|
|
60
|
-
<File.Import name={'fetch'} root={client.file.path} path={path.resolve(config.root, config.output.path, '.kubb/
|
|
60
|
+
<File.Import name={['fetch']} root={client.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')} />
|
|
61
61
|
<File.Import
|
|
62
62
|
name={['RequestConfig', 'ResponseErrorConfig']}
|
|
63
63
|
root={client.file.path}
|
|
64
|
-
path={path.resolve(config.root, config.output.path, '.kubb/
|
|
64
|
+
path={path.resolve(config.root, config.output.path, '.kubb/fetch.ts')}
|
|
65
65
|
isTypeOnly
|
|
66
66
|
/>
|
|
67
67
|
</>
|
package/src/plugin.ts
CHANGED
|
@@ -31,17 +31,21 @@ export const pluginClient = definePlugin<PluginClient>((options) => {
|
|
|
31
31
|
client = 'axios',
|
|
32
32
|
importPath,
|
|
33
33
|
contentType,
|
|
34
|
+
bundle = false,
|
|
34
35
|
} = options
|
|
35
36
|
|
|
37
|
+
const resolvedImportPath = importPath ?? (!bundle ? `@kubb/plugin-client/clients/${client}` : undefined)
|
|
38
|
+
|
|
36
39
|
return {
|
|
37
40
|
name: pluginClientName,
|
|
38
41
|
options: {
|
|
39
42
|
client,
|
|
43
|
+
bundle,
|
|
40
44
|
output,
|
|
41
45
|
group,
|
|
42
46
|
parser,
|
|
43
47
|
dataReturnType,
|
|
44
|
-
importPath,
|
|
48
|
+
importPath: resolvedImportPath,
|
|
45
49
|
paramsType,
|
|
46
50
|
paramsCasing,
|
|
47
51
|
pathParamsType,
|
|
@@ -98,19 +102,21 @@ export const pluginClient = definePlugin<PluginClient>((options) => {
|
|
|
98
102
|
const oas = await this.getOas()
|
|
99
103
|
const baseURL = await this.getBaseURL()
|
|
100
104
|
|
|
101
|
-
// pre add bundled
|
|
102
|
-
const
|
|
105
|
+
// pre add bundled fetch
|
|
106
|
+
const containsFetch = this.fabric.files.some((file) => file.baseName === 'fetch.ts')
|
|
103
107
|
|
|
104
|
-
if (!this.plugin.options.importPath && !
|
|
108
|
+
if (bundle && !this.plugin.options.importPath && !containsFetch) {
|
|
105
109
|
await this.addFile({
|
|
106
|
-
baseName: '
|
|
107
|
-
path: path.resolve(root, '.kubb/
|
|
110
|
+
baseName: 'fetch.ts',
|
|
111
|
+
path: path.resolve(root, '.kubb/fetch.ts'),
|
|
108
112
|
sources: [
|
|
109
113
|
{
|
|
110
|
-
name: '
|
|
114
|
+
name: 'fetch',
|
|
111
115
|
value: resolveModuleSource(
|
|
112
116
|
this.plugin.options.client === 'fetch' ? '@kubb/plugin-client/templates/clients/fetch' : '@kubb/plugin-client/templates/clients/axios',
|
|
113
117
|
).source,
|
|
118
|
+
isExportable: true,
|
|
119
|
+
isIndexable: true,
|
|
114
120
|
},
|
|
115
121
|
],
|
|
116
122
|
})
|
package/src/types.ts
CHANGED
|
@@ -92,6 +92,12 @@ export type Options = {
|
|
|
92
92
|
* @default 'axios'
|
|
93
93
|
*/
|
|
94
94
|
client?: 'axios' | 'fetch'
|
|
95
|
+
/**
|
|
96
|
+
* Bundle the selected client into the generated `.kubb` directory.
|
|
97
|
+
* When disabled the generated clients will import the shared runtime from `@kubb/plugin-client/clients/*`.
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
100
|
+
bundle?: boolean
|
|
95
101
|
transformers?: {
|
|
96
102
|
/**
|
|
97
103
|
* Customize the names based on the type that is provided by the plugin.
|
|
@@ -109,6 +115,7 @@ type ResolvedOptions = {
|
|
|
109
115
|
group?: Options['group']
|
|
110
116
|
baseURL: string | undefined
|
|
111
117
|
client: Options['client']
|
|
118
|
+
bundle: NonNullable<Options['bundle']>
|
|
112
119
|
parser: NonNullable<Options['parser']>
|
|
113
120
|
urlType: NonNullable<Options['urlType']>
|
|
114
121
|
importPath: Options['importPath']
|
|
@@ -45,7 +45,7 @@ export const setConfig = (config: RequestConfig) => {
|
|
|
45
45
|
|
|
46
46
|
export const axiosInstance = axios.create(getConfig())
|
|
47
47
|
|
|
48
|
-
export const
|
|
48
|
+
export const fetch = async <TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {
|
|
49
49
|
const globalConfig = getConfig()
|
|
50
50
|
|
|
51
51
|
return axiosInstance
|
|
@@ -62,7 +62,5 @@ export const client = async <TData, TError = unknown, TVariables = unknown>(conf
|
|
|
62
62
|
})
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
export default client
|
|
65
|
+
fetch.getConfig = getConfig
|
|
66
|
+
fetch.setConfig = setConfig
|
|
@@ -39,7 +39,7 @@ export const setConfig = (config: Partial<RequestConfig>) => {
|
|
|
39
39
|
|
|
40
40
|
export type ResponseErrorConfig<TError = unknown> = TError
|
|
41
41
|
|
|
42
|
-
export const
|
|
42
|
+
export const fetch = async <TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {
|
|
43
43
|
const normalizedParams = new URLSearchParams()
|
|
44
44
|
|
|
45
45
|
const globalConfig = getConfig()
|
|
@@ -57,7 +57,7 @@ export const client = async <TData, _TError = unknown, TVariables = unknown>(par
|
|
|
57
57
|
targetUrl += `?${normalizedParams}`
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
const response = await fetch(targetUrl, {
|
|
60
|
+
const response = await globalThis.fetch(targetUrl, {
|
|
61
61
|
credentials: config.credentials || 'same-origin',
|
|
62
62
|
method: config.method?.toUpperCase(),
|
|
63
63
|
body: JSON.stringify(config.data),
|
|
@@ -75,7 +75,5 @@ export const client = async <TData, _TError = unknown, TVariables = unknown>(par
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
export default client
|
|
78
|
+
fetch.getConfig = getConfig
|
|
79
|
+
fetch.setConfig = setConfig
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generators-CQvDx6Mq.js","names":[],"sources":["../src/generators/clientGenerator.tsx","../src/generators/groupedClientGenerator.tsx","../src/generators/operationsGenerator.tsx"],"sourcesContent":["import path from 'node:path'\nimport { usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { Client } from '../components/Client'\nimport { Url } from '../components/Url.tsx'\nimport type { PluginClient } from '../types'\n\nexport const clientGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operation({ config, plugin, operation, generator }) {\n const pluginManager = usePluginManager()\n const {\n options,\n options: { output, urlType },\n } = plugin\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const url = {\n name: getName(operation, { type: 'function', suffix: 'url', prefix: 'get' }),\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\n baseName={client.file.baseName}\n path={client.file.path}\n meta={client.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n {options.importPath ? (\n <>\n <File.Import name={'fetch'} path={options.importPath} />\n <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.importPath} isTypeOnly />\n </>\n ) : (\n <>\n <File.Import name={'fetch'} root={client.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')} />\n <File.Import\n name={['RequestConfig', 'ResponseErrorConfig']}\n root={client.file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')}\n isTypeOnly\n />\n </>\n )}\n\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={client.file.path} path={zod.file.path} />\n )}\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 <Url\n name={url.name}\n baseURL={options.baseURL}\n pathParamsType={options.pathParamsType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n isIndexable={urlType === 'export'}\n isExportable={urlType === 'export'}\n />\n\n <Client\n name={client.name}\n urlName={url.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 { usePluginManager } from '@kubb/core/hooks'\nimport { camelCase } from '@kubb/core/transformers'\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File, Function } from '@kubb/react-fabric'\nimport type { PluginClient } from '../types'\n\nexport const groupedClientGenerator = createReactGenerator<PluginClient>({\n name: 'groupedClient',\n Operations({ operations, generator, plugin }) {\n const { options, key: pluginKey } = plugin\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getName, getFile, getGroup } = useOperationManager(generator)\n\n const controllers = operations.reduce(\n (acc, operation) => {\n if (options.group?.type === 'tag') {\n const group = getGroup(operation)\n const name = group?.tag ? options.group?.name?.({ group: camelCase(group.tag) }) : undefined\n\n if (!group?.tag || !name) {\n return acc\n }\n\n const file = pluginManager.getFile({\n name,\n extname: '.ts',\n pluginKey,\n options: { group },\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\n key={file.path}\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output: options.output, config: pluginManager.config })}\n footer={getFooter({ oas, output: options.output })}\n >\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 { usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File } from '@kubb/react-fabric'\nimport { Operations } from '../components/Operations'\nimport type { PluginClient } from '../types'\n\nexport const operationsGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operations({ operations, plugin }) {\n const {\n key: pluginKey,\n options: { output },\n } = plugin\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n\n const name = 'operations'\n const file = pluginManager.getFile({ name, extname: '.ts', pluginKey })\n\n return (\n <File\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n <Operations name={name} operations={operations} />\n </File>\n )\n },\n})\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generators-f5-oi9Hx.cjs","names":["pluginTsName","pluginZodName","File","path","Url","Client","File","Function","File","Operations"],"sources":["../src/generators/clientGenerator.tsx","../src/generators/groupedClientGenerator.tsx","../src/generators/operationsGenerator.tsx"],"sourcesContent":["import path from 'node:path'\nimport { usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File } from '@kubb/react-fabric'\nimport { Client } from '../components/Client'\nimport { Url } from '../components/Url.tsx'\nimport type { PluginClient } from '../types'\n\nexport const clientGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operation({ config, plugin, operation, generator }) {\n const pluginManager = usePluginManager()\n const {\n options,\n options: { output, urlType },\n } = plugin\n\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager(generator)\n\n const client = {\n name: getName(operation, { type: 'function' }),\n file: getFile(operation),\n }\n\n const url = {\n name: getName(operation, { type: 'function', suffix: 'url', prefix: 'get' }),\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\n baseName={client.file.baseName}\n path={client.file.path}\n meta={client.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n {options.importPath ? (\n <>\n <File.Import name={'fetch'} path={options.importPath} />\n <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.importPath} isTypeOnly />\n </>\n ) : (\n <>\n <File.Import name={'fetch'} root={client.file.path} path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')} />\n <File.Import\n name={['RequestConfig', 'ResponseErrorConfig']}\n root={client.file.path}\n path={path.resolve(config.root, config.output.path, '.kubb/fetcher.ts')}\n isTypeOnly\n />\n </>\n )}\n\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={client.file.path} path={zod.file.path} />\n )}\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 <Url\n name={url.name}\n baseURL={options.baseURL}\n pathParamsType={options.pathParamsType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n typeSchemas={type.schemas}\n operation={operation}\n isIndexable={urlType === 'export'}\n isExportable={urlType === 'export'}\n />\n\n <Client\n name={client.name}\n urlName={url.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 { usePluginManager } from '@kubb/core/hooks'\nimport { camelCase } from '@kubb/core/transformers'\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File, Function } from '@kubb/react-fabric'\nimport type { PluginClient } from '../types'\n\nexport const groupedClientGenerator = createReactGenerator<PluginClient>({\n name: 'groupedClient',\n Operations({ operations, generator, plugin }) {\n const { options, key: pluginKey } = plugin\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getName, getFile, getGroup } = useOperationManager(generator)\n\n const controllers = operations.reduce(\n (acc, operation) => {\n if (options.group?.type === 'tag') {\n const group = getGroup(operation)\n const name = group?.tag ? options.group?.name?.({ group: camelCase(group.tag) }) : undefined\n\n if (!group?.tag || !name) {\n return acc\n }\n\n const file = pluginManager.getFile({\n name,\n extname: '.ts',\n pluginKey,\n options: { group },\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\n key={file.path}\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output: options.output, config: pluginManager.config })}\n footer={getFooter({ oas, output: options.output })}\n >\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 { usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas/generators'\nimport { useOas } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File } from '@kubb/react-fabric'\nimport { Operations } from '../components/Operations'\nimport type { PluginClient } from '../types'\n\nexport const operationsGenerator = createReactGenerator<PluginClient>({\n name: 'client',\n Operations({ operations, plugin }) {\n const {\n key: pluginKey,\n options: { output },\n } = plugin\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n\n const name = 'operations'\n const file = pluginManager.getFile({ name, extname: '.ts', pluginKey })\n\n return (\n <File\n baseName={file.baseName}\n path={file.path}\n meta={file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n <Operations name={name} operations={operations} />\n </File>\n )\n },\n})\n"],"mappings":"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"}
|
|
File without changes
|