@kubb/plugin-client 4.4.1 → 4.5.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/{Operations-CmHRmAdn.js → Operations-HWuo-D3O.js} +2 -2
- package/dist/{Operations-CmHRmAdn.js.map → Operations-HWuo-D3O.js.map} +1 -1
- package/dist/{Operations-DXjVfmrY.cjs → Operations-b9-WgfsC.cjs} +36 -8
- package/dist/{Operations-DXjVfmrY.cjs.map → Operations-b9-WgfsC.cjs.map} +1 -1
- 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-C_ySk_ES.cjs → generators-BZihoaAC.cjs} +69 -60
- package/dist/generators-BZihoaAC.cjs.map +1 -0
- package/dist/{generators-0Sc5zPfx.js → generators-CQvDx6Mq.js} +60 -51
- package/dist/generators-CQvDx6Mq.js.map +1 -0
- package/dist/generators.cjs +2 -2
- package/dist/generators.d.cts +4 -4
- package/dist/generators.d.ts +4 -4
- package/dist/generators.js +2 -2
- package/dist/index.cjs +20 -9
- 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 +14 -3
- package/dist/index.js.map +1 -1
- package/dist/{types-DJmtgGu4.d.ts → types-BI2oGQis.d.ts} +172 -178
- package/dist/{types-DuPfvza5.d.cts → types-DQTXVaz_.d.cts} +172 -178
- package/package.json +12 -23
- package/src/generators/clientGenerator.tsx +25 -7
- package/src/generators/groupedClientGenerator.tsx +5 -5
- package/src/generators/index.ts +1 -1
- package/src/generators/operationsGenerator.tsx +4 -4
- package/src/plugin.ts +21 -1
- package/src/types.ts +6 -5
- package/{src → templates}/clients/axios.ts +1 -2
- package/dist/chunk-CUT6urMc.cjs +0 -30
- package/dist/clients/axios.cjs +0 -40
- package/dist/clients/axios.cjs.map +0 -1
- package/dist/clients/axios.d.cts +0 -39
- package/dist/clients/axios.d.ts +0 -39
- package/dist/clients/axios.js +0 -33
- package/dist/clients/axios.js.map +0 -1
- package/dist/clients/fetch.cjs +0 -48
- package/dist/clients/fetch.cjs.map +0 -1
- package/dist/clients/fetch.d.cts +0 -39
- package/dist/clients/fetch.d.ts +0 -39
- package/dist/clients/fetch.js +0 -43
- package/dist/clients/fetch.js.map +0 -1
- package/dist/generators-0Sc5zPfx.js.map +0 -1
- package/dist/generators-C_ySk_ES.cjs.map +0 -1
- /package/{src → templates}/clients/fetch.ts +0 -0
package/src/types.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Group, Output, PluginFactoryOptions, ResolveNameParams } from '@kubb/core'
|
|
2
2
|
|
|
3
3
|
import type { contentType, Oas } from '@kubb/oas'
|
|
4
|
-
import type { Exclude,
|
|
4
|
+
import type { Exclude, Include, Override, ResolvePathOptions } from '@kubb/plugin-oas'
|
|
5
|
+
import type { Generator } from '@kubb/plugin-oas/generators'
|
|
5
6
|
|
|
6
7
|
export type Options = {
|
|
7
8
|
/**
|
|
@@ -46,7 +47,6 @@ export type Options = {
|
|
|
46
47
|
* Path to the client import path that will be used to do the API calls.
|
|
47
48
|
* It will be used as `import client from '${client.importPath}'`.
|
|
48
49
|
* It allows both relative and absolute path but be aware that we will not change the path.
|
|
49
|
-
* @default '@kubb/plugin-client/clients/axios'
|
|
50
50
|
*/
|
|
51
51
|
importPath?: string
|
|
52
52
|
/**
|
|
@@ -87,8 +87,8 @@ export type Options = {
|
|
|
87
87
|
parser?: 'client' | 'zod'
|
|
88
88
|
/**
|
|
89
89
|
* Which client should be used to do the HTTP calls
|
|
90
|
-
* - 'axios' will use `@kubb/plugin-client/
|
|
91
|
-
* - 'fetch' will use `@kubb/plugin-client/
|
|
90
|
+
* - 'axios' will use `@kubb/plugin-client/templates/axios` to fetch data.
|
|
91
|
+
* - 'fetch' will use `@kubb/plugin-client/templates/fetch` to fetch data.
|
|
92
92
|
* @default 'axios'
|
|
93
93
|
*/
|
|
94
94
|
client?: 'axios' | 'fetch'
|
|
@@ -108,9 +108,10 @@ type ResolvedOptions = {
|
|
|
108
108
|
output: Output<Oas>
|
|
109
109
|
group?: Options['group']
|
|
110
110
|
baseURL: string | undefined
|
|
111
|
+
client: Options['client']
|
|
111
112
|
parser: NonNullable<Options['parser']>
|
|
112
113
|
urlType: NonNullable<Options['urlType']>
|
|
113
|
-
importPath:
|
|
114
|
+
importPath: Options['importPath']
|
|
114
115
|
dataReturnType: NonNullable<Options['dataReturnType']>
|
|
115
116
|
pathParamsType: NonNullable<Options['pathParamsType']>
|
|
116
117
|
paramsType: NonNullable<Options['paramsType']>
|
package/dist/chunk-CUT6urMc.cjs
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
//#region rolldown:runtime
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
-
key = keys[i];
|
|
11
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
-
get: ((k) => from[k]).bind(null, key),
|
|
13
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
-
value: mod,
|
|
20
|
-
enumerable: true
|
|
21
|
-
}) : target, mod));
|
|
22
|
-
|
|
23
|
-
//#endregion
|
|
24
|
-
|
|
25
|
-
Object.defineProperty(exports, '__toESM', {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function () {
|
|
28
|
-
return __toESM;
|
|
29
|
-
}
|
|
30
|
-
});
|
package/dist/clients/axios.cjs
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
|
-
const require_chunk = require('../chunk-CUT6urMc.cjs');
|
|
3
|
-
let axios = require("axios");
|
|
4
|
-
axios = require_chunk.__toESM(axios);
|
|
5
|
-
|
|
6
|
-
//#region src/clients/axios.ts
|
|
7
|
-
let _config = {
|
|
8
|
-
baseURL: typeof AXIOS_BASE !== "undefined" ? AXIOS_BASE : void 0,
|
|
9
|
-
headers: typeof AXIOS_HEADERS !== "undefined" ? JSON.parse(AXIOS_HEADERS) : void 0
|
|
10
|
-
};
|
|
11
|
-
const getConfig = () => _config;
|
|
12
|
-
const setConfig = (config) => {
|
|
13
|
-
_config = config;
|
|
14
|
-
return getConfig();
|
|
15
|
-
};
|
|
16
|
-
const axiosInstance = axios.default.create(getConfig());
|
|
17
|
-
const client = async (config) => {
|
|
18
|
-
const globalConfig = getConfig();
|
|
19
|
-
return axiosInstance.request({
|
|
20
|
-
...globalConfig,
|
|
21
|
-
...config,
|
|
22
|
-
headers: {
|
|
23
|
-
...globalConfig.headers,
|
|
24
|
-
...config.headers
|
|
25
|
-
}
|
|
26
|
-
}).catch((e) => {
|
|
27
|
-
throw e;
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
client.getConfig = getConfig;
|
|
31
|
-
client.setConfig = setConfig;
|
|
32
|
-
var axios_default = client;
|
|
33
|
-
|
|
34
|
-
//#endregion
|
|
35
|
-
exports.axiosInstance = axiosInstance;
|
|
36
|
-
exports.client = client;
|
|
37
|
-
exports.default = axios_default;
|
|
38
|
-
exports.getConfig = getConfig;
|
|
39
|
-
exports.setConfig = setConfig;
|
|
40
|
-
//# sourceMappingURL=axios.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"axios.cjs","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/axios.ts"],"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' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n validateStatus?: (status: number) => boolean\n headers?: AxiosRequestConfig['headers']\n}\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\nexport type ResponseErrorConfig<TError = unknown> = AxiosError<TError>\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 client = 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\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";;;;;;AAkCA,IAAIA,UAAkC;CACpC,SAAS,OAAO,eAAe,cAAc,aAAa;CAC1D,SAAS,OAAO,kBAAkB,cAAe,KAAK,MAAM,cAAc,GAAoB;CAC/F;AAED,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAA0B;AAClD,WAAU;AACV,QAAO,WAAW;;AAGpB,MAAa,gBAAgB,cAAM,OAAO,WAAW,CAAC;AAEtD,MAAa,SAAS,OAAsD,WAAsE;CAChJ,MAAM,eAAe,WAAW;AAEhC,QAAO,cACJ,QAAsC;EACrC,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAG,aAAa;GAChB,GAAG,OAAO;GACX;EACF,CAAC,CACD,OAAO,MAA0B;AAChC,QAAM;GACN;;AAGN,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
|
package/dist/clients/axios.d.cts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import * as axios0 from "axios";
|
|
2
|
-
import { AxiosError, AxiosRequestConfig, AxiosResponse } from "axios";
|
|
3
|
-
|
|
4
|
-
//#region src/clients/axios.d.ts
|
|
5
|
-
/**
|
|
6
|
-
* Subset of AxiosRequestConfig
|
|
7
|
-
*/
|
|
8
|
-
type RequestConfig<TData = unknown> = {
|
|
9
|
-
baseURL?: string;
|
|
10
|
-
url?: string;
|
|
11
|
-
method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD';
|
|
12
|
-
params?: unknown;
|
|
13
|
-
data?: TData | FormData;
|
|
14
|
-
responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
|
|
15
|
-
signal?: AbortSignal;
|
|
16
|
-
validateStatus?: (status: number) => boolean;
|
|
17
|
-
headers?: AxiosRequestConfig['headers'];
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Subset of AxiosResponse
|
|
21
|
-
*/
|
|
22
|
-
type ResponseConfig<TData = unknown> = {
|
|
23
|
-
data: TData;
|
|
24
|
-
status: number;
|
|
25
|
-
statusText: string;
|
|
26
|
-
headers: AxiosResponse['headers'];
|
|
27
|
-
};
|
|
28
|
-
type ResponseErrorConfig<TError = unknown> = AxiosError<TError>;
|
|
29
|
-
declare const getConfig: () => Partial<RequestConfig<unknown>>;
|
|
30
|
-
declare const setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
|
|
31
|
-
declare const axiosInstance: axios0.AxiosInstance;
|
|
32
|
-
declare const client: {
|
|
33
|
-
<TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
|
|
34
|
-
getConfig: () => Partial<RequestConfig<unknown>>;
|
|
35
|
-
setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
|
|
36
|
-
};
|
|
37
|
-
//#endregion
|
|
38
|
-
export { RequestConfig, ResponseConfig, ResponseErrorConfig, axiosInstance, client, client as default, getConfig, setConfig };
|
|
39
|
-
//# sourceMappingURL=axios.d.cts.map
|
package/dist/clients/axios.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import * as axios0 from "axios";
|
|
2
|
-
import { AxiosError, AxiosRequestConfig, AxiosResponse } from "axios";
|
|
3
|
-
|
|
4
|
-
//#region src/clients/axios.d.ts
|
|
5
|
-
/**
|
|
6
|
-
* Subset of AxiosRequestConfig
|
|
7
|
-
*/
|
|
8
|
-
type RequestConfig<TData = unknown> = {
|
|
9
|
-
baseURL?: string;
|
|
10
|
-
url?: string;
|
|
11
|
-
method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD';
|
|
12
|
-
params?: unknown;
|
|
13
|
-
data?: TData | FormData;
|
|
14
|
-
responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
|
|
15
|
-
signal?: AbortSignal;
|
|
16
|
-
validateStatus?: (status: number) => boolean;
|
|
17
|
-
headers?: AxiosRequestConfig['headers'];
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Subset of AxiosResponse
|
|
21
|
-
*/
|
|
22
|
-
type ResponseConfig<TData = unknown> = {
|
|
23
|
-
data: TData;
|
|
24
|
-
status: number;
|
|
25
|
-
statusText: string;
|
|
26
|
-
headers: AxiosResponse['headers'];
|
|
27
|
-
};
|
|
28
|
-
type ResponseErrorConfig<TError = unknown> = AxiosError<TError>;
|
|
29
|
-
declare const getConfig: () => Partial<RequestConfig<unknown>>;
|
|
30
|
-
declare const setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
|
|
31
|
-
declare const axiosInstance: axios0.AxiosInstance;
|
|
32
|
-
declare const client: {
|
|
33
|
-
<TData, TError = unknown, TVariables = unknown>(config: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
|
|
34
|
-
getConfig: () => Partial<RequestConfig<unknown>>;
|
|
35
|
-
setConfig: (config: RequestConfig) => Partial<RequestConfig<unknown>>;
|
|
36
|
-
};
|
|
37
|
-
//#endregion
|
|
38
|
-
export { RequestConfig, ResponseConfig, ResponseErrorConfig, axiosInstance, client, client as default, getConfig, setConfig };
|
|
39
|
-
//# sourceMappingURL=axios.d.ts.map
|
package/dist/clients/axios.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import axios from "axios";
|
|
2
|
-
|
|
3
|
-
//#region src/clients/axios.ts
|
|
4
|
-
let _config = {
|
|
5
|
-
baseURL: typeof AXIOS_BASE !== "undefined" ? AXIOS_BASE : void 0,
|
|
6
|
-
headers: typeof AXIOS_HEADERS !== "undefined" ? JSON.parse(AXIOS_HEADERS) : void 0
|
|
7
|
-
};
|
|
8
|
-
const getConfig = () => _config;
|
|
9
|
-
const setConfig = (config) => {
|
|
10
|
-
_config = config;
|
|
11
|
-
return getConfig();
|
|
12
|
-
};
|
|
13
|
-
const axiosInstance = axios.create(getConfig());
|
|
14
|
-
const client = async (config) => {
|
|
15
|
-
const globalConfig = getConfig();
|
|
16
|
-
return axiosInstance.request({
|
|
17
|
-
...globalConfig,
|
|
18
|
-
...config,
|
|
19
|
-
headers: {
|
|
20
|
-
...globalConfig.headers,
|
|
21
|
-
...config.headers
|
|
22
|
-
}
|
|
23
|
-
}).catch((e) => {
|
|
24
|
-
throw e;
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
client.getConfig = getConfig;
|
|
28
|
-
client.setConfig = setConfig;
|
|
29
|
-
var axios_default = client;
|
|
30
|
-
|
|
31
|
-
//#endregion
|
|
32
|
-
export { axiosInstance, client, axios_default as default, getConfig, setConfig };
|
|
33
|
-
//# sourceMappingURL=axios.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"axios.js","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/axios.ts"],"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' | 'HEAD'\n params?: unknown\n data?: TData | FormData\n responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'\n signal?: AbortSignal\n validateStatus?: (status: number) => boolean\n headers?: AxiosRequestConfig['headers']\n}\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\nexport type ResponseErrorConfig<TError = unknown> = AxiosError<TError>\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 client = 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\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";;;AAkCA,IAAIA,UAAkC;CACpC,SAAS,OAAO,eAAe,cAAc,aAAa;CAC1D,SAAS,OAAO,kBAAkB,cAAe,KAAK,MAAM,cAAc,GAAoB;CAC/F;AAED,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAA0B;AAClD,WAAU;AACV,QAAO,WAAW;;AAGpB,MAAa,gBAAgB,MAAM,OAAO,WAAW,CAAC;AAEtD,MAAa,SAAS,OAAsD,WAAsE;CAChJ,MAAM,eAAe,WAAW;AAEhC,QAAO,cACJ,QAAsC;EACrC,GAAG;EACH,GAAG;EACH,SAAS;GACP,GAAG,aAAa;GAChB,GAAG,OAAO;GACX;EACF,CAAC,CACD,OAAO,MAA0B;AAChC,QAAM;GACN;;AAGN,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
|
package/dist/clients/fetch.cjs
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
|
-
|
|
3
|
-
//#region src/clients/fetch.ts
|
|
4
|
-
let _config = {};
|
|
5
|
-
const getConfig = () => _config;
|
|
6
|
-
const setConfig = (config) => {
|
|
7
|
-
_config = config;
|
|
8
|
-
return getConfig();
|
|
9
|
-
};
|
|
10
|
-
const client = async (paramsConfig) => {
|
|
11
|
-
const normalizedParams = new URLSearchParams();
|
|
12
|
-
const config = {
|
|
13
|
-
...getConfig(),
|
|
14
|
-
...paramsConfig
|
|
15
|
-
};
|
|
16
|
-
Object.entries(config.params || {}).forEach(([key, value]) => {
|
|
17
|
-
if (value !== void 0) normalizedParams.append(key, value === null ? "null" : value.toString());
|
|
18
|
-
});
|
|
19
|
-
let targetUrl = [config.baseURL, config.url].filter(Boolean).join("");
|
|
20
|
-
if (config.params) targetUrl += `?${normalizedParams}`;
|
|
21
|
-
const response = await fetch(targetUrl, {
|
|
22
|
-
credentials: config.credentials || "same-origin",
|
|
23
|
-
method: config.method?.toUpperCase(),
|
|
24
|
-
body: JSON.stringify(config.data),
|
|
25
|
-
signal: config.signal,
|
|
26
|
-
headers: config.headers
|
|
27
|
-
});
|
|
28
|
-
return {
|
|
29
|
-
data: [
|
|
30
|
-
204,
|
|
31
|
-
205,
|
|
32
|
-
304
|
|
33
|
-
].includes(response.status) || !response.body ? {} : await response.json(),
|
|
34
|
-
status: response.status,
|
|
35
|
-
statusText: response.statusText,
|
|
36
|
-
headers: response.headers
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
client.getConfig = getConfig;
|
|
40
|
-
client.setConfig = setConfig;
|
|
41
|
-
var fetch_default = client;
|
|
42
|
-
|
|
43
|
-
//#endregion
|
|
44
|
-
exports.client = client;
|
|
45
|
-
exports.default = fetch_default;
|
|
46
|
-
exports.getConfig = getConfig;
|
|
47
|
-
exports.setConfig = setConfig;
|
|
48
|
-
//# sourceMappingURL=fetch.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.cjs","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/fetch.ts"],"sourcesContent":["/**\n * RequestCredentials\n */\nexport type RequestCredentials = 'omit' | 'same-origin' | 'include'\n\n/**\n * Subset of FetchRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\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 credentials?: RequestCredentials\n}\n\n/**\n * Subset of FetchResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: Headers\n}\n\nlet _config: Partial<RequestConfig> = {}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: Partial<RequestConfig>) => {\n _config = config\n return getConfig()\n}\n\nexport type ResponseErrorConfig<TError = unknown> = TError\n\nexport const client = async <TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const normalizedParams = new URLSearchParams()\n\n const globalConfig = getConfig()\n const config = { ...globalConfig, ...paramsConfig }\n\n Object.entries(config.params || {}).forEach(([key, value]) => {\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : value.toString())\n }\n })\n\n let targetUrl = [config.baseURL, config.url].filter(Boolean).join('')\n\n if (config.params) {\n targetUrl += `?${normalizedParams}`\n }\n\n const response = await fetch(targetUrl, {\n credentials: config.credentials || 'same-origin',\n method: config.method?.toUpperCase(),\n body: JSON.stringify(config.data),\n signal: config.signal,\n headers: config.headers,\n })\n\n const data = [204, 205, 304].includes(response.status) || !response.body ? {} : await response.json()\n\n return {\n data: data as TData,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers as Headers,\n }\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";;;AA8BA,IAAIA,UAAkC,EAAE;AAExC,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAAmC;AAC3D,WAAU;AACV,QAAO,WAAW;;AAKpB,MAAa,SAAS,OAAuD,iBAA4E;CACvJ,MAAM,mBAAmB,IAAI,iBAAiB;CAG9C,MAAM,SAAS;EAAE,GADI,WAAW;EACE,GAAG;EAAc;AAEnD,QAAO,QAAQ,OAAO,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;AAC5D,MAAI,UAAU,OACZ,kBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,MAAM,UAAU,CAAC;GAE1E;CAEF,IAAI,YAAY,CAAC,OAAO,SAAS,OAAO,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;AAErE,KAAI,OAAO,OACT,cAAa,IAAI;CAGnB,MAAM,WAAW,MAAM,MAAM,WAAW;EACtC,aAAa,OAAO,eAAe;EACnC,QAAQ,OAAO,QAAQ,aAAa;EACpC,MAAM,KAAK,UAAU,OAAO,KAAK;EACjC,QAAQ,OAAO;EACf,SAAS,OAAO;EACjB,CAAC;AAIF,QAAO;EACL,MAHW;GAAC;GAAK;GAAK;GAAI,CAAC,SAAS,SAAS,OAAO,IAAI,CAAC,SAAS,OAAO,EAAE,GAAG,MAAM,SAAS,MAAM;EAInG,QAAQ,SAAS;EACjB,YAAY,SAAS;EACrB,SAAS,SAAS;EACnB;;AAGH,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
|
package/dist/clients/fetch.d.cts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
//#region src/clients/fetch.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* RequestCredentials
|
|
4
|
-
*/
|
|
5
|
-
type RequestCredentials = 'omit' | 'same-origin' | 'include';
|
|
6
|
-
/**
|
|
7
|
-
* Subset of FetchRequestConfig
|
|
8
|
-
*/
|
|
9
|
-
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
|
-
* Subset of FetchResponse
|
|
22
|
-
*/
|
|
23
|
-
type ResponseConfig<TData = unknown> = {
|
|
24
|
-
data: TData;
|
|
25
|
-
status: number;
|
|
26
|
-
statusText: string;
|
|
27
|
-
headers: Headers;
|
|
28
|
-
};
|
|
29
|
-
declare const getConfig: () => Partial<RequestConfig<unknown>>;
|
|
30
|
-
declare const setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
|
|
31
|
-
type ResponseErrorConfig<TError = unknown> = TError;
|
|
32
|
-
declare const client: {
|
|
33
|
-
<TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
|
|
34
|
-
getConfig: () => Partial<RequestConfig<unknown>>;
|
|
35
|
-
setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
|
|
36
|
-
};
|
|
37
|
-
//#endregion
|
|
38
|
-
export { RequestConfig, RequestCredentials, ResponseConfig, ResponseErrorConfig, client, client as default, getConfig, setConfig };
|
|
39
|
-
//# sourceMappingURL=fetch.d.cts.map
|
package/dist/clients/fetch.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
//#region src/clients/fetch.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* RequestCredentials
|
|
4
|
-
*/
|
|
5
|
-
type RequestCredentials = 'omit' | 'same-origin' | 'include';
|
|
6
|
-
/**
|
|
7
|
-
* Subset of FetchRequestConfig
|
|
8
|
-
*/
|
|
9
|
-
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
|
-
* Subset of FetchResponse
|
|
22
|
-
*/
|
|
23
|
-
type ResponseConfig<TData = unknown> = {
|
|
24
|
-
data: TData;
|
|
25
|
-
status: number;
|
|
26
|
-
statusText: string;
|
|
27
|
-
headers: Headers;
|
|
28
|
-
};
|
|
29
|
-
declare const getConfig: () => Partial<RequestConfig<unknown>>;
|
|
30
|
-
declare const setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
|
|
31
|
-
type ResponseErrorConfig<TError = unknown> = TError;
|
|
32
|
-
declare const client: {
|
|
33
|
-
<TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>>;
|
|
34
|
-
getConfig: () => Partial<RequestConfig<unknown>>;
|
|
35
|
-
setConfig: (config: Partial<RequestConfig>) => Partial<RequestConfig<unknown>>;
|
|
36
|
-
};
|
|
37
|
-
//#endregion
|
|
38
|
-
export { RequestConfig, RequestCredentials, ResponseConfig, ResponseErrorConfig, client, client as default, getConfig, setConfig };
|
|
39
|
-
//# sourceMappingURL=fetch.d.ts.map
|
package/dist/clients/fetch.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
//#region src/clients/fetch.ts
|
|
2
|
-
let _config = {};
|
|
3
|
-
const getConfig = () => _config;
|
|
4
|
-
const setConfig = (config) => {
|
|
5
|
-
_config = config;
|
|
6
|
-
return getConfig();
|
|
7
|
-
};
|
|
8
|
-
const client = async (paramsConfig) => {
|
|
9
|
-
const normalizedParams = new URLSearchParams();
|
|
10
|
-
const config = {
|
|
11
|
-
...getConfig(),
|
|
12
|
-
...paramsConfig
|
|
13
|
-
};
|
|
14
|
-
Object.entries(config.params || {}).forEach(([key, value]) => {
|
|
15
|
-
if (value !== void 0) normalizedParams.append(key, value === null ? "null" : value.toString());
|
|
16
|
-
});
|
|
17
|
-
let targetUrl = [config.baseURL, config.url].filter(Boolean).join("");
|
|
18
|
-
if (config.params) targetUrl += `?${normalizedParams}`;
|
|
19
|
-
const response = await fetch(targetUrl, {
|
|
20
|
-
credentials: config.credentials || "same-origin",
|
|
21
|
-
method: config.method?.toUpperCase(),
|
|
22
|
-
body: JSON.stringify(config.data),
|
|
23
|
-
signal: config.signal,
|
|
24
|
-
headers: config.headers
|
|
25
|
-
});
|
|
26
|
-
return {
|
|
27
|
-
data: [
|
|
28
|
-
204,
|
|
29
|
-
205,
|
|
30
|
-
304
|
|
31
|
-
].includes(response.status) || !response.body ? {} : await response.json(),
|
|
32
|
-
status: response.status,
|
|
33
|
-
statusText: response.statusText,
|
|
34
|
-
headers: response.headers
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
client.getConfig = getConfig;
|
|
38
|
-
client.setConfig = setConfig;
|
|
39
|
-
var fetch_default = client;
|
|
40
|
-
|
|
41
|
-
//#endregion
|
|
42
|
-
export { client, fetch_default as default, getConfig, setConfig };
|
|
43
|
-
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","names":["_config: Partial<RequestConfig>"],"sources":["../../src/clients/fetch.ts"],"sourcesContent":["/**\n * RequestCredentials\n */\nexport type RequestCredentials = 'omit' | 'same-origin' | 'include'\n\n/**\n * Subset of FetchRequestConfig\n */\nexport type RequestConfig<TData = unknown> = {\n baseURL?: string\n url?: string\n method?: 'GET' | 'PUT' | 'PATCH' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD'\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 credentials?: RequestCredentials\n}\n\n/**\n * Subset of FetchResponse\n */\nexport type ResponseConfig<TData = unknown> = {\n data: TData\n status: number\n statusText: string\n headers: Headers\n}\n\nlet _config: Partial<RequestConfig> = {}\n\nexport const getConfig = () => _config\n\nexport const setConfig = (config: Partial<RequestConfig>) => {\n _config = config\n return getConfig()\n}\n\nexport type ResponseErrorConfig<TError = unknown> = TError\n\nexport const client = async <TData, _TError = unknown, TVariables = unknown>(paramsConfig: RequestConfig<TVariables>): Promise<ResponseConfig<TData>> => {\n const normalizedParams = new URLSearchParams()\n\n const globalConfig = getConfig()\n const config = { ...globalConfig, ...paramsConfig }\n\n Object.entries(config.params || {}).forEach(([key, value]) => {\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : value.toString())\n }\n })\n\n let targetUrl = [config.baseURL, config.url].filter(Boolean).join('')\n\n if (config.params) {\n targetUrl += `?${normalizedParams}`\n }\n\n const response = await fetch(targetUrl, {\n credentials: config.credentials || 'same-origin',\n method: config.method?.toUpperCase(),\n body: JSON.stringify(config.data),\n signal: config.signal,\n headers: config.headers,\n })\n\n const data = [204, 205, 304].includes(response.status) || !response.body ? {} : await response.json()\n\n return {\n data: data as TData,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers as Headers,\n }\n}\n\nclient.getConfig = getConfig\nclient.setConfig = setConfig\n\nexport default client\n"],"mappings":";AA8BA,IAAIA,UAAkC,EAAE;AAExC,MAAa,kBAAkB;AAE/B,MAAa,aAAa,WAAmC;AAC3D,WAAU;AACV,QAAO,WAAW;;AAKpB,MAAa,SAAS,OAAuD,iBAA4E;CACvJ,MAAM,mBAAmB,IAAI,iBAAiB;CAG9C,MAAM,SAAS;EAAE,GADI,WAAW;EACE,GAAG;EAAc;AAEnD,QAAO,QAAQ,OAAO,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;AAC5D,MAAI,UAAU,OACZ,kBAAiB,OAAO,KAAK,UAAU,OAAO,SAAS,MAAM,UAAU,CAAC;GAE1E;CAEF,IAAI,YAAY,CAAC,OAAO,SAAS,OAAO,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;AAErE,KAAI,OAAO,OACT,cAAa,IAAI;CAGnB,MAAM,WAAW,MAAM,MAAM,WAAW;EACtC,aAAa,OAAO,eAAe;EACnC,QAAQ,OAAO,QAAQ,aAAa;EACpC,MAAM,KAAK,UAAU,OAAO,KAAK;EACjC,QAAQ,OAAO;EACf,SAAS,OAAO;EACjB,CAAC;AAIF,QAAO;EACL,MAHW;GAAC;GAAK;GAAK;GAAI,CAAC,SAAS,SAAS,OAAO,IAAI,CAAC,SAAS,OAAO,EAAE,GAAG,MAAM,SAAS,MAAM;EAInG,QAAQ,SAAS;EACjB,YAAY,SAAS;EACrB,SAAS,SAAS;EACnB;;AAGH,OAAO,YAAY;AACnB,OAAO,YAAY;AAEnB,oBAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generators-0Sc5zPfx.js","names":[],"sources":["../src/generators/clientGenerator.tsx","../src/generators/operationsGenerator.tsx","../src/generators/groupedClientGenerator.tsx"],"sourcesContent":["import { usePlugin, usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas'\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({ options, operation }) {\n const pluginManager = usePluginManager()\n const {\n options: { output, urlType },\n } = usePlugin<PluginClient>()\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\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 <File.Import name={'fetch'} path={options.importPath} />\n <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.importPath} isTypeOnly />\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 { usePlugin, usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas'\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 }) {\n const {\n key: pluginKey,\n options: { output },\n } = usePlugin<PluginClient>()\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","import { usePlugin, 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'\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 }) {\n const { options, key: pluginKey } = usePlugin<PluginClient>()\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getName, getFile, getGroup } = useOperationManager()\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"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generators-C_ySk_ES.cjs","names":["pluginTsName","pluginZodName","File","Url","Client","File","Operations","File","Function"],"sources":["../src/generators/clientGenerator.tsx","../src/generators/operationsGenerator.tsx","../src/generators/groupedClientGenerator.tsx"],"sourcesContent":["import { usePlugin, usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas'\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({ options, operation }) {\n const pluginManager = usePluginManager()\n const {\n options: { output, urlType },\n } = usePlugin<PluginClient>()\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\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 <File.Import name={'fetch'} path={options.importPath} />\n <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.importPath} isTypeOnly />\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 { usePlugin, usePluginManager } from '@kubb/core/hooks'\nimport { createReactGenerator } from '@kubb/plugin-oas'\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 }) {\n const {\n key: pluginKey,\n options: { output },\n } = usePlugin<PluginClient>()\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","import { usePlugin, 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'\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 }) {\n const { options, key: pluginKey } = usePlugin<PluginClient>()\n const pluginManager = usePluginManager()\n\n const oas = useOas()\n const { getName, getFile, getGroup } = useOperationManager()\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWA,MAAa,8DAAqD;CAChE,MAAM;CACN,UAAU,EAAE,SAAS,aAAa;EAChC,MAAM,yDAAkC;EACxC,MAAM,EACJ,SAAS,EAAE,QAAQ,gDACQ;EAC7B,MAAM,2CAAc;EACpB,MAAM,EAAE,YAAY,SAAS,8DAAiC;EAE9D,MAAM,SAAS;GACb,MAAM,QAAQ,WAAW,EAAE,MAAM,YAAY,CAAC;GAC9C,MAAM,QAAQ,UAAU;GACzB;EAED,MAAM,MAAM;GACV,MAAM,QAAQ,WAAW;IAAE,MAAM;IAAY,QAAQ;IAAO,QAAQ;IAAO,CAAC;GAC5E,MAAM,QAAQ,UAAU;GACzB;EAED,MAAM,OAAO;GACX,MAAM,QAAQ,WAAW,EAAE,WAAW,CAACA,8BAAa,EAAE,CAAC;GACvD,SAAS,WAAW,WAAW;IAAE,WAAW,CAACA,8BAAa;IAAE,MAAM;IAAQ,CAAC;GAC5E;EAED,MAAM,MAAM;GACV,MAAM,QAAQ,WAAW,EAAE,WAAW,CAACC,gCAAc,EAAE,CAAC;GACxD,SAAS,WAAW,WAAW;IAAE,WAAW,CAACA,gCAAc;IAAE,MAAM;IAAY,CAAC;GACjF;AAED,SACE,0DAACC;GACC,UAAU,OAAO,KAAK;GACtB,MAAM,OAAO,KAAK;GAClB,MAAM,OAAO,KAAK;GAClB,+CAAkB;IAAE;IAAK;IAAQ,QAAQ,cAAc;IAAQ,CAAC;GAChE,+CAAkB;IAAE;IAAK;IAAQ,CAAC;;IAElC,yDAACA,yBAAK;KAAO,MAAM;KAAS,MAAM,QAAQ;MAAc;IACxD,yDAACA,yBAAK;KAAO,MAAM,CAAC,iBAAiB,sBAAsB;KAAE,MAAM,QAAQ;KAAY;MAAa;IACnG,QAAQ,WAAW,SAClB,yDAACA,yBAAK;KAAO,MAAM,CAAC,IAAI,QAAQ,SAAS,MAAM,IAAI,QAAQ,SAAS,KAAK,CAAC,OAAO,QAAQ;KAAE,MAAM,OAAO,KAAK;KAAM,MAAM,IAAI,KAAK;MAAQ;IAE5I,yDAACA,yBAAK;KACJ,MAAM;MACJ,KAAK,QAAQ,SAAS;MACtB,KAAK,QAAQ,SAAS;MACtB,KAAK,QAAQ,YAAY;MACzB,KAAK,QAAQ,aAAa;MAC1B,KAAK,QAAQ,cAAc;MAC3B,GAAI,KAAK,QAAQ,aAAa,KAAK,SAAS,KAAK,KAAK,IAAI,EAAE;MAC7D,CAAC,OAAO,QAAQ;KACjB,MAAM,OAAO,KAAK;KAClB,MAAM,KAAK,KAAK;KAChB;MACA;IAEF,yDAACC;KACC,MAAM,IAAI;KACV,SAAS,QAAQ;KACjB,gBAAgB,QAAQ;KACxB,cAAc,QAAQ;KACtB,YAAY,QAAQ;KACpB,aAAa,KAAK;KACP;KACX,aAAa,YAAY;KACzB,cAAc,YAAY;MAC1B;IAEF,yDAACC;KACC,MAAM,OAAO;KACb,SAAS,IAAI;KACb,SAAS,QAAQ;KACjB,gBAAgB,QAAQ;KACxB,gBAAgB,QAAQ;KACxB,cAAc,QAAQ;KACtB,YAAY,QAAQ;KACpB,aAAa,KAAK;KACP;KACX,QAAQ,QAAQ;KAChB,YAAY,IAAI;MAChB;;IACG;;CAGZ,CAAC;;;;ACxFF,MAAa,kEAAyD;CACpE,MAAM;CACN,WAAW,EAAE,cAAc;EACzB,MAAM,EACJ,KAAK,WACL,SAAS,EAAE,+CACgB;EAC7B,MAAM,yDAAkC;EAExC,MAAM,2CAAc;EAEpB,MAAM,OAAO;EACb,MAAM,OAAO,cAAc,QAAQ;GAAE;GAAM,SAAS;GAAO;GAAW,CAAC;AAEvE,SACE,yDAACC;GACC,UAAU,KAAK;GACf,MAAM,KAAK;GACX,MAAM,KAAK;GACX,+CAAkB;IAAE;IAAK;IAAQ,QAAQ,cAAc;IAAQ,CAAC;GAChE,+CAAkB;IAAE;IAAK;IAAQ,CAAC;aAElC,yDAACC;IAAiB;IAAkB;KAAc;IAC7C;;CAGZ,CAAC;;;;ACzBF,MAAa,qEAA4D;CACvE,MAAM;CACN,WAAW,EAAE,cAAc;EACzB,MAAM,EAAE,SAAS,KAAK,gDAAuC;EAC7D,MAAM,yDAAkC;EAExC,MAAM,2CAAc;EACpB,MAAM,EAAE,SAAS,SAAS,+DAAkC;AAsC5D,SApCoB,WAAW,QAC5B,KAAK,cAAc;AAClB,OAAI,QAAQ,OAAO,SAAS,OAAO;IACjC,MAAM,QAAQ,SAAS,UAAU;IACjC,MAAM,OAAO,OAAO,MAAM,QAAQ,OAAO,OAAO,EAAE,+CAAiB,MAAM,IAAI,EAAE,CAAC,GAAG;AAEnF,QAAI,CAAC,OAAO,OAAO,CAAC,KAClB,QAAO;IAGT,MAAM,OAAO,cAAc,QAAQ;KACjC;KACA,SAAS;KACT;KACA,SAAS,EAAE,OAAO;KACnB,CAAC;IAEF,MAAM,SAAS;KACb,MAAM,QAAQ,WAAW,EAAE,MAAM,YAAY,CAAC;KAC9C,MAAM,QAAQ,UAAU;KACzB;IAED,MAAM,eAAe,IAAI,MAAM,SAAS,KAAK,KAAK,SAAS,KAAK,KAAK;AAErE,QAAI,aACF,cAAa,QAAQ,KAAK,OAAO;QAEjC,KAAI,KAAK;KAAE;KAAM;KAAM,SAAS,CAAC,OAAO;KAAE,CAAC;;AAI/C,UAAO;KAET,EAAE,CACH,CAEkB,KAAK,EAAE,MAAM,MAAM,cAAc;AAClD,UACE,0DAACC;IAEC,UAAU,KAAK;IACf,MAAM,KAAK;IACX,MAAM,KAAK;IACX,+CAAkB;KAAE;KAAK,QAAQ,QAAQ;KAAQ,QAAQ,cAAc;KAAQ,CAAC;IAChF,+CAAkB;KAAE;KAAK,QAAQ,QAAQ;KAAQ,CAAC;eAEjD,QAAQ,KAAK,WACZ,yDAACA,yBAAK;KAAyB,MAAM,CAAC,OAAO,KAAK;KAAE,MAAM,KAAK;KAAM,MAAM,OAAO,KAAK;OAArE,OAAO,KAAsE,CAC/F,EAEF,yDAACA,yBAAK;KAAa;KAAM;KAAa;eACpC,yDAACC;MAAS;MAAa;gBACpB,YAAY,QAAQ,KAAK,WAAW,OAAO,KAAK,CAAC,KAAK,KAAK,CAAC;OACpD;MACC;MAfT,KAAK,KAgBL;IAET;;CAEL,CAAC"}
|
|
File without changes
|