@kubb/plugin-client 3.16.2 → 3.16.4
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-Cxn7C-GC.cjs +228 -0
- package/dist/Operations-Cxn7C-GC.cjs.map +1 -0
- package/dist/Operations-tGJwS9Oj.js +210 -0
- package/dist/Operations-tGJwS9Oj.js.map +1 -0
- package/dist/chunk-CUT6urMc.cjs +30 -0
- package/dist/clients/axios.cjs +24 -30
- package/dist/clients/axios.cjs.map +1 -1
- package/dist/clients/axios.d.cts +23 -21
- package/dist/clients/axios.d.ts +23 -21
- package/dist/clients/axios.js +23 -23
- package/dist/clients/axios.js.map +1 -1
- package/dist/clients/fetch.cjs +37 -36
- package/dist/clients/fetch.cjs.map +1 -1
- package/dist/clients/fetch.d.cts +20 -18
- package/dist/clients/fetch.d.ts +20 -18
- package/dist/clients/fetch.js +37 -34
- package/dist/clients/fetch.js.map +1 -1
- package/dist/components.cjs +4 -19
- package/dist/components.d.cts +97 -56
- package/dist/components.d.ts +97 -56
- package/dist/components.js +3 -3
- package/dist/generators-BQnLTqYl.js +216 -0
- package/dist/generators-BQnLTqYl.js.map +1 -0
- package/dist/generators-XXsaqEtA.cjs +234 -0
- package/dist/generators-XXsaqEtA.cjs.map +1 -0
- package/dist/generators.cjs +5 -20
- package/dist/generators.d.cts +12 -11
- package/dist/generators.d.ts +12 -11
- package/dist/generators.js +4 -4
- package/dist/index.cjs +89 -118
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -7
- package/dist/index.d.ts +6 -7
- package/dist/index.js +88 -112
- package/dist/index.js.map +1 -1
- package/dist/types-CdM4kNiz.d.ts +1274 -0
- package/dist/types-Cpfa5PKO.d.cts +1274 -0
- package/package.json +27 -34
- package/dist/chunk-H5KNP3DD.cjs +0 -205
- package/dist/chunk-H5KNP3DD.cjs.map +0 -1
- package/dist/chunk-LNJCFB5O.js +0 -201
- package/dist/chunk-LNJCFB5O.js.map +0 -1
- package/dist/chunk-QNFXNUH5.js +0 -187
- package/dist/chunk-QNFXNUH5.js.map +0 -1
- package/dist/chunk-SDEXSATF.cjs +0 -191
- package/dist/chunk-SDEXSATF.cjs.map +0 -1
- package/dist/components.cjs.map +0 -1
- package/dist/components.js.map +0 -1
- package/dist/generators.cjs.map +0 -1
- package/dist/generators.js.map +0 -1
- package/dist/types-DFo3xInC.d.cts +0 -119
- package/dist/types-DFo3xInC.d.ts +0 -119
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-client",
|
|
3
|
-
"version": "3.16.
|
|
3
|
+
"version": "3.16.4",
|
|
4
4
|
"description": "API client generator plugin for Kubb, creating type-safe HTTP clients (Axios, Fetch) from OpenAPI specifications for making API requests.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"api-client",
|
|
@@ -29,35 +29,29 @@
|
|
|
29
29
|
"exports": {
|
|
30
30
|
".": {
|
|
31
31
|
"import": "./dist/index.js",
|
|
32
|
-
"require": "./dist/index.cjs"
|
|
33
|
-
"default": "./dist/index.cjs"
|
|
34
|
-
},
|
|
35
|
-
"./generators": {
|
|
36
|
-
"import": "./dist/generators.js",
|
|
37
|
-
"require": "./dist/generators.cjs",
|
|
38
|
-
"default": "./dist/generators.cjs"
|
|
39
|
-
},
|
|
40
|
-
"./components": {
|
|
41
|
-
"import": "./dist/components.js",
|
|
42
|
-
"require": "./dist/components.cjs",
|
|
43
|
-
"default": "./dist/components.cjs"
|
|
32
|
+
"require": "./dist/index.cjs"
|
|
44
33
|
},
|
|
45
34
|
"./clients/axios": {
|
|
46
35
|
"import": "./dist/clients/axios.js",
|
|
47
|
-
"require": "./dist/clients/axios.cjs"
|
|
48
|
-
"default": "./dist/clients/axios.cjs"
|
|
36
|
+
"require": "./dist/clients/axios.cjs"
|
|
49
37
|
},
|
|
50
38
|
"./clients/fetch": {
|
|
51
39
|
"import": "./dist/clients/fetch.js",
|
|
52
|
-
"require": "./dist/clients/fetch.cjs"
|
|
53
|
-
|
|
40
|
+
"require": "./dist/clients/fetch.cjs"
|
|
41
|
+
},
|
|
42
|
+
"./components": {
|
|
43
|
+
"import": "./dist/components.js",
|
|
44
|
+
"require": "./dist/components.cjs"
|
|
45
|
+
},
|
|
46
|
+
"./generators": {
|
|
47
|
+
"import": "./dist/generators.js",
|
|
48
|
+
"require": "./dist/generators.cjs"
|
|
54
49
|
},
|
|
55
|
-
"./package.json": "./package.json"
|
|
56
|
-
"./*": "./*"
|
|
50
|
+
"./package.json": "./package.json"
|
|
57
51
|
},
|
|
58
|
-
"main": "dist/index.cjs",
|
|
59
|
-
"module": "dist/index.js",
|
|
60
|
-
"types": "./dist/index.d.
|
|
52
|
+
"main": "./dist/index.cjs",
|
|
53
|
+
"module": "./dist/index.js",
|
|
54
|
+
"types": "./dist/index.d.cts",
|
|
61
55
|
"typesVersions": {
|
|
62
56
|
"*": {
|
|
63
57
|
"components": [
|
|
@@ -83,19 +77,18 @@
|
|
|
83
77
|
"!/**/__tests__/**"
|
|
84
78
|
],
|
|
85
79
|
"dependencies": {
|
|
86
|
-
"@kubb/core": "3.16.
|
|
87
|
-
"@kubb/oas": "3.16.
|
|
88
|
-
"@kubb/plugin-oas": "3.16.
|
|
89
|
-
"@kubb/plugin-ts": "3.16.
|
|
90
|
-
"@kubb/plugin-zod": "3.16.
|
|
91
|
-
"@kubb/react": "3.16.
|
|
80
|
+
"@kubb/core": "3.16.4",
|
|
81
|
+
"@kubb/oas": "3.16.4",
|
|
82
|
+
"@kubb/plugin-oas": "3.16.4",
|
|
83
|
+
"@kubb/plugin-ts": "3.16.4",
|
|
84
|
+
"@kubb/plugin-zod": "3.16.4",
|
|
85
|
+
"@kubb/react": "3.16.4"
|
|
92
86
|
},
|
|
93
87
|
"devDependencies": {
|
|
94
88
|
"axios": "^1.11.0",
|
|
95
|
-
"
|
|
89
|
+
"tsdown": "^0.14.1",
|
|
96
90
|
"typescript": "^5.9.2",
|
|
97
|
-
"@kubb/config-ts": "3.16.
|
|
98
|
-
"@kubb/config-tsup": "3.16.2"
|
|
91
|
+
"@kubb/config-ts": "3.16.4"
|
|
99
92
|
},
|
|
100
93
|
"peerDependencies": {
|
|
101
94
|
"@kubb/react": "^3.0.0",
|
|
@@ -114,13 +107,13 @@
|
|
|
114
107
|
"registry": "https://registry.npmjs.org/"
|
|
115
108
|
},
|
|
116
109
|
"scripts": {
|
|
117
|
-
"build": "
|
|
110
|
+
"build": "tsdown",
|
|
118
111
|
"clean": "npx rimraf ./dist",
|
|
119
112
|
"lint": "bun biome lint .",
|
|
120
|
-
"lint:fix": "bun biome lint--fix --unsafe .",
|
|
113
|
+
"lint:fix": "bun biome lint --fix --unsafe .",
|
|
121
114
|
"release": "pnpm publish --no-git-check",
|
|
122
115
|
"release:canary": "bash ../../.github/canary.sh && node ../../scripts/build.js canary && pnpm publish --no-git-check",
|
|
123
|
-
"start": "
|
|
116
|
+
"start": "tsdown --watch",
|
|
124
117
|
"test": "vitest --passWithNoTests",
|
|
125
118
|
"typecheck": "tsc -p ./tsconfig.json --noEmit --emitDeclarationOnly false"
|
|
126
119
|
}
|
package/dist/chunk-H5KNP3DD.cjs
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var utils = require('@kubb/core/utils');
|
|
4
|
-
var oas = require('@kubb/oas');
|
|
5
|
-
var utils$1 = require('@kubb/plugin-oas/utils');
|
|
6
|
-
var react = require('@kubb/react');
|
|
7
|
-
var jsxRuntime = require('@kubb/react/jsx-runtime');
|
|
8
|
-
|
|
9
|
-
// src/components/Url.tsx
|
|
10
|
-
function getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
|
|
11
|
-
if (paramsType === "object") {
|
|
12
|
-
return react.FunctionParams.factory({
|
|
13
|
-
data: {
|
|
14
|
-
mode: "object",
|
|
15
|
-
children: {
|
|
16
|
-
...utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing })
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
return react.FunctionParams.factory({
|
|
22
|
-
pathParams: typeSchemas.pathParams?.name ? {
|
|
23
|
-
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
24
|
-
children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
25
|
-
optional: oas.isOptional(typeSchemas.pathParams?.schema)
|
|
26
|
-
} : void 0
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
function Url({ name, isExportable = true, isIndexable = true, typeSchemas, baseURL, paramsType, paramsCasing, pathParamsType, operation }) {
|
|
30
|
-
const path = new utils.URLPath(operation.path, { casing: paramsCasing });
|
|
31
|
-
const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas });
|
|
32
|
-
return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable, isIndexable, children: /* @__PURE__ */ jsxRuntime.jsx(react.Function, { name, export: isExportable, params: params.toConstructor(), children: `return ${path.toTemplateString({ prefix: baseURL })} as const` }) });
|
|
33
|
-
}
|
|
34
|
-
Url.getParams = getParams;
|
|
35
|
-
function getParams2({ paramsType, paramsCasing, pathParamsType, typeSchemas, isConfigurable }) {
|
|
36
|
-
if (paramsType === "object") {
|
|
37
|
-
return react.FunctionParams.factory({
|
|
38
|
-
data: {
|
|
39
|
-
mode: "object",
|
|
40
|
-
children: {
|
|
41
|
-
...utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
42
|
-
data: typeSchemas.request?.name ? {
|
|
43
|
-
type: typeSchemas.request?.name,
|
|
44
|
-
optional: oas.isOptional(typeSchemas.request?.schema)
|
|
45
|
-
} : void 0,
|
|
46
|
-
params: typeSchemas.queryParams?.name ? {
|
|
47
|
-
type: typeSchemas.queryParams?.name,
|
|
48
|
-
optional: oas.isOptional(typeSchemas.queryParams?.schema)
|
|
49
|
-
} : void 0,
|
|
50
|
-
headers: typeSchemas.headerParams?.name ? {
|
|
51
|
-
type: typeSchemas.headerParams?.name,
|
|
52
|
-
optional: oas.isOptional(typeSchemas.headerParams?.schema)
|
|
53
|
-
} : void 0
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
config: isConfigurable ? {
|
|
57
|
-
type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }",
|
|
58
|
-
default: "{}"
|
|
59
|
-
} : void 0
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
return react.FunctionParams.factory({
|
|
63
|
-
pathParams: typeSchemas.pathParams?.name ? {
|
|
64
|
-
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
65
|
-
children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
66
|
-
optional: oas.isOptional(typeSchemas.pathParams?.schema)
|
|
67
|
-
} : void 0,
|
|
68
|
-
data: typeSchemas.request?.name ? {
|
|
69
|
-
type: typeSchemas.request?.name,
|
|
70
|
-
optional: oas.isOptional(typeSchemas.request?.schema)
|
|
71
|
-
} : void 0,
|
|
72
|
-
params: typeSchemas.queryParams?.name ? {
|
|
73
|
-
type: typeSchemas.queryParams?.name,
|
|
74
|
-
optional: oas.isOptional(typeSchemas.queryParams?.schema)
|
|
75
|
-
} : void 0,
|
|
76
|
-
headers: typeSchemas.headerParams?.name ? {
|
|
77
|
-
type: typeSchemas.headerParams?.name,
|
|
78
|
-
optional: oas.isOptional(typeSchemas.headerParams?.schema)
|
|
79
|
-
} : void 0,
|
|
80
|
-
config: isConfigurable ? {
|
|
81
|
-
type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }",
|
|
82
|
-
default: "{}"
|
|
83
|
-
} : void 0
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
function Client({
|
|
87
|
-
name,
|
|
88
|
-
isExportable = true,
|
|
89
|
-
isIndexable = true,
|
|
90
|
-
returnType,
|
|
91
|
-
typeSchemas,
|
|
92
|
-
baseURL,
|
|
93
|
-
dataReturnType,
|
|
94
|
-
parser,
|
|
95
|
-
zodSchemas,
|
|
96
|
-
paramsType,
|
|
97
|
-
paramsCasing,
|
|
98
|
-
pathParamsType,
|
|
99
|
-
operation,
|
|
100
|
-
urlName,
|
|
101
|
-
children,
|
|
102
|
-
isConfigurable = true
|
|
103
|
-
}) {
|
|
104
|
-
const path = new utils.URLPath(operation.path, { casing: paramsCasing });
|
|
105
|
-
const contentType = operation.getContentType();
|
|
106
|
-
const isFormData = contentType === "multipart/form-data";
|
|
107
|
-
const headers = [
|
|
108
|
-
contentType !== "application/json" ? `'Content-Type': '${contentType}'` : void 0,
|
|
109
|
-
typeSchemas.headerParams?.name ? "...headers" : void 0
|
|
110
|
-
].filter(Boolean);
|
|
111
|
-
const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
|
|
112
|
-
const generics = [typeSchemas.response.name, TError, typeSchemas.request?.name || "unknown"].filter(Boolean);
|
|
113
|
-
const params = getParams2({ paramsType, paramsCasing, pathParamsType, typeSchemas, isConfigurable });
|
|
114
|
-
const urlParams = Url.getParams({
|
|
115
|
-
paramsType,
|
|
116
|
-
paramsCasing,
|
|
117
|
-
pathParamsType,
|
|
118
|
-
typeSchemas
|
|
119
|
-
});
|
|
120
|
-
const clientParams = react.FunctionParams.factory({
|
|
121
|
-
config: {
|
|
122
|
-
mode: "object",
|
|
123
|
-
children: {
|
|
124
|
-
method: {
|
|
125
|
-
value: JSON.stringify(operation.method.toUpperCase())
|
|
126
|
-
},
|
|
127
|
-
url: {
|
|
128
|
-
value: urlName ? `${urlName}(${urlParams.toCall()}).toString()` : path.template
|
|
129
|
-
},
|
|
130
|
-
baseURL: baseURL && !urlName ? {
|
|
131
|
-
value: JSON.stringify(baseURL)
|
|
132
|
-
} : void 0,
|
|
133
|
-
params: typeSchemas.queryParams?.name ? {} : void 0,
|
|
134
|
-
data: typeSchemas.request?.name ? {
|
|
135
|
-
value: isFormData ? "formData" : "requestData"
|
|
136
|
-
} : void 0,
|
|
137
|
-
requestConfig: isConfigurable ? {
|
|
138
|
-
mode: "inlineSpread"
|
|
139
|
-
} : void 0,
|
|
140
|
-
headers: headers.length ? {
|
|
141
|
-
value: isConfigurable ? `{ ${headers.join(", ")}, ...requestConfig.headers }` : `{ ${headers.join(", ")} }`
|
|
142
|
-
} : void 0
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
const formData = isFormData ? `
|
|
147
|
-
const formData = new FormData()
|
|
148
|
-
if(requestData) {
|
|
149
|
-
Object.keys(requestData).forEach((key) => {
|
|
150
|
-
const value = requestData[key as keyof typeof requestData];
|
|
151
|
-
if (typeof value === 'string' || (value as unknown) instanceof Blob) {
|
|
152
|
-
formData.append(key, value as unknown as string | Blob);
|
|
153
|
-
}
|
|
154
|
-
})
|
|
155
|
-
}
|
|
156
|
-
` : "";
|
|
157
|
-
const childrenElement = children ? children : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
158
|
-
dataReturnType === "full" && parser === "zod" && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`,
|
|
159
|
-
dataReturnType === "data" && parser === "zod" && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`,
|
|
160
|
-
dataReturnType === "full" && parser === "client" && "return res",
|
|
161
|
-
dataReturnType === "data" && parser === "client" && "return res.data"
|
|
162
|
-
] });
|
|
163
|
-
return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable, isIndexable, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
164
|
-
react.Function,
|
|
165
|
-
{
|
|
166
|
-
name,
|
|
167
|
-
async: true,
|
|
168
|
-
export: isExportable,
|
|
169
|
-
params: params.toConstructor(),
|
|
170
|
-
JSDoc: {
|
|
171
|
-
comments: utils$1.getComments(operation)
|
|
172
|
-
},
|
|
173
|
-
returnType,
|
|
174
|
-
children: [
|
|
175
|
-
isConfigurable ? "const { client:request = fetch, ...requestConfig } = config" : "",
|
|
176
|
-
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
177
|
-
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
178
|
-
parser === "zod" && zodSchemas?.request?.name && `const requestData = ${zodSchemas.request.name}.parse(data)`,
|
|
179
|
-
parser === "client" && typeSchemas?.request?.name && "const requestData = data",
|
|
180
|
-
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
181
|
-
formData,
|
|
182
|
-
isConfigurable ? `const res = await request<${generics.join(", ")}>(${clientParams.toCall()})` : `const res = await fetch<${generics.join(", ")}>(${clientParams.toCall()})`,
|
|
183
|
-
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
184
|
-
childrenElement
|
|
185
|
-
]
|
|
186
|
-
}
|
|
187
|
-
) });
|
|
188
|
-
}
|
|
189
|
-
Client.getParams = getParams2;
|
|
190
|
-
function Operations({ name, operations }) {
|
|
191
|
-
const operationsObject = {};
|
|
192
|
-
operations.forEach((operation) => {
|
|
193
|
-
operationsObject[operation.getOperationId()] = {
|
|
194
|
-
path: new utils.URLPath(operation.path).URL,
|
|
195
|
-
method: operation.method
|
|
196
|
-
};
|
|
197
|
-
});
|
|
198
|
-
return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Const, { name, export: true, asConst: true, children: JSON.stringify(operationsObject, void 0, 2) }) });
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
exports.Client = Client;
|
|
202
|
-
exports.Operations = Operations;
|
|
203
|
-
exports.Url = Url;
|
|
204
|
-
//# sourceMappingURL=chunk-H5KNP3DD.cjs.map
|
|
205
|
-
//# sourceMappingURL=chunk-H5KNP3DD.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Url.tsx","../src/components/Client.tsx","../src/components/Operations.tsx"],"names":["FunctionParams","getPathParams","isOptional","URLPath","jsx","File","Function","getParams","jsxs","Fragment","getComments","Const"],"mappings":"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","file":"chunk-H5KNP3DD.cjs","sourcesContent":["import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { PluginClient } from '../types.ts'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n isExportable?: boolean\n isIndexable?: boolean\n\n baseURL: string | undefined\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['pathParamsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n operation: Operation\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['paramsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n },\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n })\n}\n\nexport function Url({ name, isExportable = true, isIndexable = true, typeSchemas, baseURL, paramsType, paramsCasing, pathParamsType, operation }: Props) {\n const path = new URLPath(operation.path, { casing: paramsCasing })\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function name={name} export={isExportable} params={params.toConstructor()}>\n {`return ${path.toTemplateString({ prefix: baseURL })} as const`}\n </Function>\n </File.Source>\n )\n}\n\nUrl.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { PluginClient } from '../types.ts'\nimport { Url } from './Url.tsx'\nimport type { KubbNode } from '@kubb/react/types'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n urlName?: string\n isExportable?: boolean\n isIndexable?: boolean\n isConfigurable?: boolean\n returnType?: string\n\n baseURL: string | undefined\n dataReturnType: PluginClient['resolvedOptions']['dataReturnType']\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['pathParamsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n parser: PluginClient['resolvedOptions']['parser'] | undefined\n typeSchemas: OperationSchemas\n zodSchemas: OperationSchemas | undefined\n operation: Operation\n children?: KubbNode\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['paramsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n isConfigurable: boolean\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas, isConfigurable }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: isConfigurable\n ? {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n }\n : undefined,\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: isConfigurable\n ? {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n }\n : undefined,\n })\n}\n\nexport function Client({\n name,\n isExportable = true,\n isIndexable = true,\n returnType,\n typeSchemas,\n baseURL,\n dataReturnType,\n parser,\n zodSchemas,\n paramsType,\n paramsCasing,\n pathParamsType,\n operation,\n urlName,\n children,\n isConfigurable = true,\n}: Props) {\n const path = new URLPath(operation.path, { casing: paramsCasing })\n const contentType = operation.getContentType()\n const isFormData = contentType === 'multipart/form-data'\n const headers = [\n contentType !== 'application/json' ? `'Content-Type': '${contentType}'` : undefined,\n typeSchemas.headerParams?.name ? '...headers' : undefined,\n ].filter(Boolean)\n\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const generics = [typeSchemas.response.name, TError, typeSchemas.request?.name || 'unknown'].filter(Boolean)\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas, isConfigurable })\n const urlParams = Url.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const clientParams = FunctionParams.factory({\n config: {\n mode: 'object',\n children: {\n method: {\n value: JSON.stringify(operation.method.toUpperCase()),\n },\n url: {\n value: urlName ? `${urlName}(${urlParams.toCall()}).toString()` : path.template,\n },\n baseURL:\n baseURL && !urlName\n ? {\n value: JSON.stringify(baseURL),\n }\n : undefined,\n params: typeSchemas.queryParams?.name ? {} : undefined,\n data: typeSchemas.request?.name\n ? {\n value: isFormData ? 'formData' : 'requestData',\n }\n : undefined,\n requestConfig: isConfigurable\n ? {\n mode: 'inlineSpread',\n }\n : undefined,\n headers: headers.length\n ? {\n value: isConfigurable ? `{ ${headers.join(', ')}, ...requestConfig.headers }` : `{ ${headers.join(', ')} }`,\n }\n : undefined,\n },\n },\n })\n\n const formData = isFormData\n ? `\n const formData = new FormData()\n if(requestData) {\n Object.keys(requestData).forEach((key) => {\n const value = requestData[key as keyof typeof requestData];\n if (typeof value === 'string' || (value as unknown) instanceof Blob) {\n formData.append(key, value as unknown as string | Blob);\n }\n })\n }\n `\n : ''\n\n const childrenElement = children ? (\n children\n ) : (\n <>\n {dataReturnType === 'full' && parser === 'zod' && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`}\n {dataReturnType === 'data' && parser === 'zod' && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`}\n {dataReturnType === 'full' && parser === 'client' && 'return res'}\n {dataReturnType === 'data' && parser === 'client' && 'return res.data'}\n </>\n )\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function\n name={name}\n async\n export={isExportable}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n returnType={returnType}\n >\n {isConfigurable ? 'const { client:request = fetch, ...requestConfig } = config' : ''}\n <br />\n <br />\n {parser === 'zod' && zodSchemas?.request?.name && `const requestData = ${zodSchemas.request.name}.parse(data)`}\n {parser === 'client' && typeSchemas?.request?.name && 'const requestData = data'}\n <br />\n {formData}\n {isConfigurable\n ? `const res = await request<${generics.join(', ')}>(${clientParams.toCall()})`\n : `const res = await fetch<${generics.join(', ')}>(${clientParams.toCall()})`}\n <br />\n {childrenElement}\n </Function>\n </File.Source>\n )\n}\n\nClient.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\nimport { Const, File } from '@kubb/react'\n\nimport type { HttpMethod, Operation } from '@kubb/oas'\n\ntype OperationsProps = {\n name: string\n operations: Array<Operation>\n}\n\nexport function Operations({ name, operations }: OperationsProps) {\n const operationsObject: Record<string, { path: string; method: HttpMethod }> = {}\n\n operations.forEach((operation) => {\n operationsObject[operation.getOperationId()] = {\n path: new URLPath(operation.path).URL,\n method: operation.method,\n }\n })\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Const name={name} export asConst>\n {JSON.stringify(operationsObject, undefined, 2)}\n </Const>\n </File.Source>\n )\n}\n"]}
|
package/dist/chunk-LNJCFB5O.js
DELETED
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { URLPath } from '@kubb/core/utils';
|
|
2
|
-
import { isOptional } from '@kubb/oas';
|
|
3
|
-
import { getComments, getPathParams } from '@kubb/plugin-oas/utils';
|
|
4
|
-
import { File, Function, FunctionParams, Const } from '@kubb/react';
|
|
5
|
-
import { jsx, jsxs, Fragment } from '@kubb/react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
// src/components/Url.tsx
|
|
8
|
-
function getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
|
|
9
|
-
if (paramsType === "object") {
|
|
10
|
-
return FunctionParams.factory({
|
|
11
|
-
data: {
|
|
12
|
-
mode: "object",
|
|
13
|
-
children: {
|
|
14
|
-
...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing })
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
return FunctionParams.factory({
|
|
20
|
-
pathParams: typeSchemas.pathParams?.name ? {
|
|
21
|
-
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
22
|
-
children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
23
|
-
optional: isOptional(typeSchemas.pathParams?.schema)
|
|
24
|
-
} : void 0
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
function Url({ name, isExportable = true, isIndexable = true, typeSchemas, baseURL, paramsType, paramsCasing, pathParamsType, operation }) {
|
|
28
|
-
const path = new URLPath(operation.path, { casing: paramsCasing });
|
|
29
|
-
const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas });
|
|
30
|
-
return /* @__PURE__ */ jsx(File.Source, { name, isExportable, isIndexable, children: /* @__PURE__ */ jsx(Function, { name, export: isExportable, params: params.toConstructor(), children: `return ${path.toTemplateString({ prefix: baseURL })} as const` }) });
|
|
31
|
-
}
|
|
32
|
-
Url.getParams = getParams;
|
|
33
|
-
function getParams2({ paramsType, paramsCasing, pathParamsType, typeSchemas, isConfigurable }) {
|
|
34
|
-
if (paramsType === "object") {
|
|
35
|
-
return FunctionParams.factory({
|
|
36
|
-
data: {
|
|
37
|
-
mode: "object",
|
|
38
|
-
children: {
|
|
39
|
-
...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
40
|
-
data: typeSchemas.request?.name ? {
|
|
41
|
-
type: typeSchemas.request?.name,
|
|
42
|
-
optional: isOptional(typeSchemas.request?.schema)
|
|
43
|
-
} : void 0,
|
|
44
|
-
params: typeSchemas.queryParams?.name ? {
|
|
45
|
-
type: typeSchemas.queryParams?.name,
|
|
46
|
-
optional: isOptional(typeSchemas.queryParams?.schema)
|
|
47
|
-
} : void 0,
|
|
48
|
-
headers: typeSchemas.headerParams?.name ? {
|
|
49
|
-
type: typeSchemas.headerParams?.name,
|
|
50
|
-
optional: isOptional(typeSchemas.headerParams?.schema)
|
|
51
|
-
} : void 0
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
config: isConfigurable ? {
|
|
55
|
-
type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }",
|
|
56
|
-
default: "{}"
|
|
57
|
-
} : void 0
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
return FunctionParams.factory({
|
|
61
|
-
pathParams: typeSchemas.pathParams?.name ? {
|
|
62
|
-
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
63
|
-
children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
64
|
-
optional: isOptional(typeSchemas.pathParams?.schema)
|
|
65
|
-
} : void 0,
|
|
66
|
-
data: typeSchemas.request?.name ? {
|
|
67
|
-
type: typeSchemas.request?.name,
|
|
68
|
-
optional: isOptional(typeSchemas.request?.schema)
|
|
69
|
-
} : void 0,
|
|
70
|
-
params: typeSchemas.queryParams?.name ? {
|
|
71
|
-
type: typeSchemas.queryParams?.name,
|
|
72
|
-
optional: isOptional(typeSchemas.queryParams?.schema)
|
|
73
|
-
} : void 0,
|
|
74
|
-
headers: typeSchemas.headerParams?.name ? {
|
|
75
|
-
type: typeSchemas.headerParams?.name,
|
|
76
|
-
optional: isOptional(typeSchemas.headerParams?.schema)
|
|
77
|
-
} : void 0,
|
|
78
|
-
config: isConfigurable ? {
|
|
79
|
-
type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }",
|
|
80
|
-
default: "{}"
|
|
81
|
-
} : void 0
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
function Client({
|
|
85
|
-
name,
|
|
86
|
-
isExportable = true,
|
|
87
|
-
isIndexable = true,
|
|
88
|
-
returnType,
|
|
89
|
-
typeSchemas,
|
|
90
|
-
baseURL,
|
|
91
|
-
dataReturnType,
|
|
92
|
-
parser,
|
|
93
|
-
zodSchemas,
|
|
94
|
-
paramsType,
|
|
95
|
-
paramsCasing,
|
|
96
|
-
pathParamsType,
|
|
97
|
-
operation,
|
|
98
|
-
urlName,
|
|
99
|
-
children,
|
|
100
|
-
isConfigurable = true
|
|
101
|
-
}) {
|
|
102
|
-
const path = new URLPath(operation.path, { casing: paramsCasing });
|
|
103
|
-
const contentType = operation.getContentType();
|
|
104
|
-
const isFormData = contentType === "multipart/form-data";
|
|
105
|
-
const headers = [
|
|
106
|
-
contentType !== "application/json" ? `'Content-Type': '${contentType}'` : void 0,
|
|
107
|
-
typeSchemas.headerParams?.name ? "...headers" : void 0
|
|
108
|
-
].filter(Boolean);
|
|
109
|
-
const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
|
|
110
|
-
const generics = [typeSchemas.response.name, TError, typeSchemas.request?.name || "unknown"].filter(Boolean);
|
|
111
|
-
const params = getParams2({ paramsType, paramsCasing, pathParamsType, typeSchemas, isConfigurable });
|
|
112
|
-
const urlParams = Url.getParams({
|
|
113
|
-
paramsType,
|
|
114
|
-
paramsCasing,
|
|
115
|
-
pathParamsType,
|
|
116
|
-
typeSchemas
|
|
117
|
-
});
|
|
118
|
-
const clientParams = FunctionParams.factory({
|
|
119
|
-
config: {
|
|
120
|
-
mode: "object",
|
|
121
|
-
children: {
|
|
122
|
-
method: {
|
|
123
|
-
value: JSON.stringify(operation.method.toUpperCase())
|
|
124
|
-
},
|
|
125
|
-
url: {
|
|
126
|
-
value: urlName ? `${urlName}(${urlParams.toCall()}).toString()` : path.template
|
|
127
|
-
},
|
|
128
|
-
baseURL: baseURL && !urlName ? {
|
|
129
|
-
value: JSON.stringify(baseURL)
|
|
130
|
-
} : void 0,
|
|
131
|
-
params: typeSchemas.queryParams?.name ? {} : void 0,
|
|
132
|
-
data: typeSchemas.request?.name ? {
|
|
133
|
-
value: isFormData ? "formData" : "requestData"
|
|
134
|
-
} : void 0,
|
|
135
|
-
requestConfig: isConfigurable ? {
|
|
136
|
-
mode: "inlineSpread"
|
|
137
|
-
} : void 0,
|
|
138
|
-
headers: headers.length ? {
|
|
139
|
-
value: isConfigurable ? `{ ${headers.join(", ")}, ...requestConfig.headers }` : `{ ${headers.join(", ")} }`
|
|
140
|
-
} : void 0
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
const formData = isFormData ? `
|
|
145
|
-
const formData = new FormData()
|
|
146
|
-
if(requestData) {
|
|
147
|
-
Object.keys(requestData).forEach((key) => {
|
|
148
|
-
const value = requestData[key as keyof typeof requestData];
|
|
149
|
-
if (typeof value === 'string' || (value as unknown) instanceof Blob) {
|
|
150
|
-
formData.append(key, value as unknown as string | Blob);
|
|
151
|
-
}
|
|
152
|
-
})
|
|
153
|
-
}
|
|
154
|
-
` : "";
|
|
155
|
-
const childrenElement = children ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
156
|
-
dataReturnType === "full" && parser === "zod" && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`,
|
|
157
|
-
dataReturnType === "data" && parser === "zod" && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`,
|
|
158
|
-
dataReturnType === "full" && parser === "client" && "return res",
|
|
159
|
-
dataReturnType === "data" && parser === "client" && "return res.data"
|
|
160
|
-
] });
|
|
161
|
-
return /* @__PURE__ */ jsx(File.Source, { name, isExportable, isIndexable, children: /* @__PURE__ */ jsxs(
|
|
162
|
-
Function,
|
|
163
|
-
{
|
|
164
|
-
name,
|
|
165
|
-
async: true,
|
|
166
|
-
export: isExportable,
|
|
167
|
-
params: params.toConstructor(),
|
|
168
|
-
JSDoc: {
|
|
169
|
-
comments: getComments(operation)
|
|
170
|
-
},
|
|
171
|
-
returnType,
|
|
172
|
-
children: [
|
|
173
|
-
isConfigurable ? "const { client:request = fetch, ...requestConfig } = config" : "",
|
|
174
|
-
/* @__PURE__ */ jsx("br", {}),
|
|
175
|
-
/* @__PURE__ */ jsx("br", {}),
|
|
176
|
-
parser === "zod" && zodSchemas?.request?.name && `const requestData = ${zodSchemas.request.name}.parse(data)`,
|
|
177
|
-
parser === "client" && typeSchemas?.request?.name && "const requestData = data",
|
|
178
|
-
/* @__PURE__ */ jsx("br", {}),
|
|
179
|
-
formData,
|
|
180
|
-
isConfigurable ? `const res = await request<${generics.join(", ")}>(${clientParams.toCall()})` : `const res = await fetch<${generics.join(", ")}>(${clientParams.toCall()})`,
|
|
181
|
-
/* @__PURE__ */ jsx("br", {}),
|
|
182
|
-
childrenElement
|
|
183
|
-
]
|
|
184
|
-
}
|
|
185
|
-
) });
|
|
186
|
-
}
|
|
187
|
-
Client.getParams = getParams2;
|
|
188
|
-
function Operations({ name, operations }) {
|
|
189
|
-
const operationsObject = {};
|
|
190
|
-
operations.forEach((operation) => {
|
|
191
|
-
operationsObject[operation.getOperationId()] = {
|
|
192
|
-
path: new URLPath(operation.path).URL,
|
|
193
|
-
method: operation.method
|
|
194
|
-
};
|
|
195
|
-
});
|
|
196
|
-
return /* @__PURE__ */ jsx(File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsx(Const, { name, export: true, asConst: true, children: JSON.stringify(operationsObject, void 0, 2) }) });
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
export { Client, Operations, Url };
|
|
200
|
-
//# sourceMappingURL=chunk-LNJCFB5O.js.map
|
|
201
|
-
//# sourceMappingURL=chunk-LNJCFB5O.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Url.tsx","../src/components/Client.tsx","../src/components/Operations.tsx"],"names":["getParams","FunctionParams","getPathParams","isOptional","URLPath","jsx","File","Function"],"mappings":"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","file":"chunk-LNJCFB5O.js","sourcesContent":["import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { PluginClient } from '../types.ts'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n isExportable?: boolean\n isIndexable?: boolean\n\n baseURL: string | undefined\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['pathParamsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n operation: Operation\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['paramsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n },\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n })\n}\n\nexport function Url({ name, isExportable = true, isIndexable = true, typeSchemas, baseURL, paramsType, paramsCasing, pathParamsType, operation }: Props) {\n const path = new URLPath(operation.path, { casing: paramsCasing })\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function name={name} export={isExportable} params={params.toConstructor()}>\n {`return ${path.toTemplateString({ prefix: baseURL })} as const`}\n </Function>\n </File.Source>\n )\n}\n\nUrl.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { PluginClient } from '../types.ts'\nimport { Url } from './Url.tsx'\nimport type { KubbNode } from '@kubb/react/types'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n urlName?: string\n isExportable?: boolean\n isIndexable?: boolean\n isConfigurable?: boolean\n returnType?: string\n\n baseURL: string | undefined\n dataReturnType: PluginClient['resolvedOptions']['dataReturnType']\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['pathParamsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n parser: PluginClient['resolvedOptions']['parser'] | undefined\n typeSchemas: OperationSchemas\n zodSchemas: OperationSchemas | undefined\n operation: Operation\n children?: KubbNode\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['paramsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n isConfigurable: boolean\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas, isConfigurable }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: isConfigurable\n ? {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n }\n : undefined,\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: isConfigurable\n ? {\n type: typeSchemas.request?.name\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\n default: '{}',\n }\n : undefined,\n })\n}\n\nexport function Client({\n name,\n isExportable = true,\n isIndexable = true,\n returnType,\n typeSchemas,\n baseURL,\n dataReturnType,\n parser,\n zodSchemas,\n paramsType,\n paramsCasing,\n pathParamsType,\n operation,\n urlName,\n children,\n isConfigurable = true,\n}: Props) {\n const path = new URLPath(operation.path, { casing: paramsCasing })\n const contentType = operation.getContentType()\n const isFormData = contentType === 'multipart/form-data'\n const headers = [\n contentType !== 'application/json' ? `'Content-Type': '${contentType}'` : undefined,\n typeSchemas.headerParams?.name ? '...headers' : undefined,\n ].filter(Boolean)\n\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const generics = [typeSchemas.response.name, TError, typeSchemas.request?.name || 'unknown'].filter(Boolean)\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas, isConfigurable })\n const urlParams = Url.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const clientParams = FunctionParams.factory({\n config: {\n mode: 'object',\n children: {\n method: {\n value: JSON.stringify(operation.method.toUpperCase()),\n },\n url: {\n value: urlName ? `${urlName}(${urlParams.toCall()}).toString()` : path.template,\n },\n baseURL:\n baseURL && !urlName\n ? {\n value: JSON.stringify(baseURL),\n }\n : undefined,\n params: typeSchemas.queryParams?.name ? {} : undefined,\n data: typeSchemas.request?.name\n ? {\n value: isFormData ? 'formData' : 'requestData',\n }\n : undefined,\n requestConfig: isConfigurable\n ? {\n mode: 'inlineSpread',\n }\n : undefined,\n headers: headers.length\n ? {\n value: isConfigurable ? `{ ${headers.join(', ')}, ...requestConfig.headers }` : `{ ${headers.join(', ')} }`,\n }\n : undefined,\n },\n },\n })\n\n const formData = isFormData\n ? `\n const formData = new FormData()\n if(requestData) {\n Object.keys(requestData).forEach((key) => {\n const value = requestData[key as keyof typeof requestData];\n if (typeof value === 'string' || (value as unknown) instanceof Blob) {\n formData.append(key, value as unknown as string | Blob);\n }\n })\n }\n `\n : ''\n\n const childrenElement = children ? (\n children\n ) : (\n <>\n {dataReturnType === 'full' && parser === 'zod' && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`}\n {dataReturnType === 'data' && parser === 'zod' && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`}\n {dataReturnType === 'full' && parser === 'client' && 'return res'}\n {dataReturnType === 'data' && parser === 'client' && 'return res.data'}\n </>\n )\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function\n name={name}\n async\n export={isExportable}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n returnType={returnType}\n >\n {isConfigurable ? 'const { client:request = fetch, ...requestConfig } = config' : ''}\n <br />\n <br />\n {parser === 'zod' && zodSchemas?.request?.name && `const requestData = ${zodSchemas.request.name}.parse(data)`}\n {parser === 'client' && typeSchemas?.request?.name && 'const requestData = data'}\n <br />\n {formData}\n {isConfigurable\n ? `const res = await request<${generics.join(', ')}>(${clientParams.toCall()})`\n : `const res = await fetch<${generics.join(', ')}>(${clientParams.toCall()})`}\n <br />\n {childrenElement}\n </Function>\n </File.Source>\n )\n}\n\nClient.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\nimport { Const, File } from '@kubb/react'\n\nimport type { HttpMethod, Operation } from '@kubb/oas'\n\ntype OperationsProps = {\n name: string\n operations: Array<Operation>\n}\n\nexport function Operations({ name, operations }: OperationsProps) {\n const operationsObject: Record<string, { path: string; method: HttpMethod }> = {}\n\n operations.forEach((operation) => {\n operationsObject[operation.getOperationId()] = {\n path: new URLPath(operation.path).URL,\n method: operation.method,\n }\n })\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Const name={name} export asConst>\n {JSON.stringify(operationsObject, undefined, 2)}\n </Const>\n </File.Source>\n )\n}\n"]}
|