@kubb/plugin-client 5.0.0-beta.10 → 5.0.0-beta.15
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/index.cjs +38 -26
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +39 -27
- package/dist/index.js.map +1 -1
- package/extension.yaml +14 -11
- package/package.json +7 -7
- package/src/generators/classClientGenerator.tsx +8 -8
- package/src/generators/clientGenerator.tsx +6 -6
- package/src/generators/groupedClientGenerator.tsx +5 -5
- package/src/generators/operationsGenerator.tsx +5 -5
- package/src/generators/staticClassClientGenerator.tsx +6 -6
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { source as source$2 } from "./templates/config.source.js";
|
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { ast, defineGenerator, definePlugin, defineResolver } from "@kubb/core";
|
|
7
7
|
import { functionPrinter, pluginTsName } from "@kubb/plugin-ts";
|
|
8
|
-
import { Const, File, Function,
|
|
8
|
+
import { Const, File, Function, jsxRendererSync } from "@kubb/renderer-jsx";
|
|
9
9
|
import { Fragment, jsx, jsxs } from "@kubb/renderer-jsx/jsx-runtime";
|
|
10
10
|
import { pluginZodName } from "@kubb/plugin-zod";
|
|
11
11
|
//#region ../../internals/utils/src/casing.ts
|
|
@@ -395,7 +395,17 @@ function resolveErrorNames(node, resolver) {
|
|
|
395
395
|
function resolveStatusCodeNames(node, resolver) {
|
|
396
396
|
return node.responses.map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
|
|
397
397
|
}
|
|
398
|
+
const typeNamesByResolver = /* @__PURE__ */ new WeakMap();
|
|
398
399
|
function resolveOperationTypeNames(node, resolver, options = {}) {
|
|
400
|
+
const cacheKey = `${node.operationId}\0${options.paramsCasing ?? ""}\0${options.order ?? ""}\0${options.responseStatusNames ?? ""}\0${(options.exclude ?? []).join(",")}`;
|
|
401
|
+
let byResolver = typeNamesByResolver.get(resolver);
|
|
402
|
+
if (byResolver) {
|
|
403
|
+
const cached = byResolver.get(cacheKey);
|
|
404
|
+
if (cached) return cached;
|
|
405
|
+
} else {
|
|
406
|
+
byResolver = /* @__PURE__ */ new Map();
|
|
407
|
+
typeNamesByResolver.set(resolver, byResolver);
|
|
408
|
+
}
|
|
399
409
|
const { path, query, header } = getOperationParameters(node, { paramsCasing: options.paramsCasing });
|
|
400
410
|
const responseStatusNames = options.responseStatusNames === "error" ? resolveErrorNames(node, resolver) : options.responseStatusNames === false ? [] : resolveStatusCodeNames(node, resolver);
|
|
401
411
|
const exclude = new Set(options.exclude ?? []);
|
|
@@ -405,7 +415,7 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
|
|
|
405
415
|
...header.map((param) => resolver.resolveHeaderParamsName(node, param))
|
|
406
416
|
];
|
|
407
417
|
const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0, resolver.resolveResponseName(node)];
|
|
408
|
-
|
|
418
|
+
const result = (options.order === "body-response-first" ? [
|
|
409
419
|
...bodyAndResponseNames,
|
|
410
420
|
...paramNames,
|
|
411
421
|
...responseStatusNames
|
|
@@ -414,6 +424,8 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
|
|
|
414
424
|
...bodyAndResponseNames,
|
|
415
425
|
...responseStatusNames
|
|
416
426
|
]).filter((name) => Boolean(name) && !exclude.has(name));
|
|
427
|
+
byResolver.set(cacheKey, result);
|
|
428
|
+
return result;
|
|
417
429
|
}
|
|
418
430
|
//#endregion
|
|
419
431
|
//#region ../../internals/shared/src/params.ts
|
|
@@ -848,11 +860,11 @@ function resolveZodImportNames$1(node, zodResolver) {
|
|
|
848
860
|
__name(resolveZodImportNames$1, "resolveZodImportNames");
|
|
849
861
|
const classClientGenerator = defineGenerator({
|
|
850
862
|
name: "classClient",
|
|
851
|
-
renderer:
|
|
863
|
+
renderer: jsxRendererSync,
|
|
852
864
|
operations(nodes, ctx) {
|
|
853
|
-
const {
|
|
865
|
+
const { config, driver, resolver, root, inputNode } = ctx;
|
|
854
866
|
const { output, group, dataReturnType, paramsCasing, paramsType, pathParamsType, parser, importPath, sdk } = ctx.options;
|
|
855
|
-
const baseURL = ctx.options.baseURL ??
|
|
867
|
+
const baseURL = ctx.options.baseURL ?? inputNode.meta?.baseURL;
|
|
856
868
|
const pluginTs = driver.getPlugin(pluginTsName);
|
|
857
869
|
if (!pluginTs) return null;
|
|
858
870
|
const tsResolver = driver.getResolver(pluginTsName);
|
|
@@ -980,11 +992,11 @@ const classClientGenerator = defineGenerator({
|
|
|
980
992
|
baseName: file.baseName,
|
|
981
993
|
path: file.path,
|
|
982
994
|
meta: file.meta,
|
|
983
|
-
banner: resolver.resolveBanner(
|
|
995
|
+
banner: resolver.resolveBanner(inputNode, {
|
|
984
996
|
output,
|
|
985
997
|
config
|
|
986
998
|
}),
|
|
987
|
-
footer: resolver.resolveFooter(
|
|
999
|
+
footer: resolver.resolveFooter(inputNode, {
|
|
988
1000
|
output,
|
|
989
1001
|
config
|
|
990
1002
|
}),
|
|
@@ -1083,11 +1095,11 @@ const classClientGenerator = defineGenerator({
|
|
|
1083
1095
|
baseName: sdkFile.baseName,
|
|
1084
1096
|
path: sdkFile.path,
|
|
1085
1097
|
meta: sdkFile.meta,
|
|
1086
|
-
banner: resolver.resolveBanner(
|
|
1098
|
+
banner: resolver.resolveBanner(inputNode, {
|
|
1087
1099
|
output,
|
|
1088
1100
|
config
|
|
1089
1101
|
}),
|
|
1090
|
-
footer: resolver.resolveFooter(
|
|
1102
|
+
footer: resolver.resolveFooter(inputNode, {
|
|
1091
1103
|
output,
|
|
1092
1104
|
config
|
|
1093
1105
|
}),
|
|
@@ -1124,11 +1136,11 @@ const classClientGenerator = defineGenerator({
|
|
|
1124
1136
|
//#region src/generators/clientGenerator.tsx
|
|
1125
1137
|
const clientGenerator = defineGenerator({
|
|
1126
1138
|
name: "client",
|
|
1127
|
-
renderer:
|
|
1139
|
+
renderer: jsxRendererSync,
|
|
1128
1140
|
operation(node, ctx) {
|
|
1129
|
-
const {
|
|
1141
|
+
const { config, driver, resolver, root, inputNode } = ctx;
|
|
1130
1142
|
const { output, urlType, dataReturnType, paramsCasing, paramsType, pathParamsType, parser, importPath, group } = ctx.options;
|
|
1131
|
-
const baseURL = ctx.options.baseURL ??
|
|
1143
|
+
const baseURL = ctx.options.baseURL ?? inputNode.meta?.baseURL;
|
|
1132
1144
|
const pluginTs = driver.getPlugin(pluginTsName);
|
|
1133
1145
|
if (!pluginTs) return null;
|
|
1134
1146
|
const tsResolver = driver.getResolver(pluginTsName);
|
|
@@ -1175,11 +1187,11 @@ const clientGenerator = defineGenerator({
|
|
|
1175
1187
|
baseName: meta.file.baseName,
|
|
1176
1188
|
path: meta.file.path,
|
|
1177
1189
|
meta: meta.file.meta,
|
|
1178
|
-
banner: resolver.resolveBanner(
|
|
1190
|
+
banner: resolver.resolveBanner(inputNode, {
|
|
1179
1191
|
output,
|
|
1180
1192
|
config
|
|
1181
1193
|
}),
|
|
1182
|
-
footer: resolver.resolveFooter(
|
|
1194
|
+
footer: resolver.resolveFooter(inputNode, {
|
|
1183
1195
|
output,
|
|
1184
1196
|
config
|
|
1185
1197
|
}),
|
|
@@ -1257,9 +1269,9 @@ const clientGenerator = defineGenerator({
|
|
|
1257
1269
|
//#region src/generators/groupedClientGenerator.tsx
|
|
1258
1270
|
const groupedClientGenerator = defineGenerator({
|
|
1259
1271
|
name: "groupedClient",
|
|
1260
|
-
renderer:
|
|
1272
|
+
renderer: jsxRendererSync,
|
|
1261
1273
|
operations(nodes, ctx) {
|
|
1262
|
-
const { config, resolver,
|
|
1274
|
+
const { config, resolver, root, inputNode } = ctx;
|
|
1263
1275
|
const { output, group } = ctx.options;
|
|
1264
1276
|
return /* @__PURE__ */ jsx(Fragment, { children: nodes.reduce((acc, operationNode) => {
|
|
1265
1277
|
if (group?.type === "tag") {
|
|
@@ -1303,11 +1315,11 @@ const groupedClientGenerator = defineGenerator({
|
|
|
1303
1315
|
baseName: file.baseName,
|
|
1304
1316
|
path: file.path,
|
|
1305
1317
|
meta: file.meta,
|
|
1306
|
-
banner: resolver.resolveBanner(
|
|
1318
|
+
banner: resolver.resolveBanner(inputNode, {
|
|
1307
1319
|
output,
|
|
1308
1320
|
config
|
|
1309
1321
|
}),
|
|
1310
|
-
footer: resolver.resolveFooter(
|
|
1322
|
+
footer: resolver.resolveFooter(inputNode, {
|
|
1311
1323
|
output,
|
|
1312
1324
|
config
|
|
1313
1325
|
}),
|
|
@@ -1354,9 +1366,9 @@ function Operations({ name, nodes }) {
|
|
|
1354
1366
|
//#region src/generators/operationsGenerator.tsx
|
|
1355
1367
|
const operationsGenerator = defineGenerator({
|
|
1356
1368
|
name: "client",
|
|
1357
|
-
renderer:
|
|
1369
|
+
renderer: jsxRendererSync,
|
|
1358
1370
|
operations(nodes, ctx) {
|
|
1359
|
-
const { config, resolver,
|
|
1371
|
+
const { config, resolver, root, inputNode } = ctx;
|
|
1360
1372
|
const { output, group } = ctx.options;
|
|
1361
1373
|
const name = "operations";
|
|
1362
1374
|
const file = resolver.resolveFile({
|
|
@@ -1371,11 +1383,11 @@ const operationsGenerator = defineGenerator({
|
|
|
1371
1383
|
baseName: file.baseName,
|
|
1372
1384
|
path: file.path,
|
|
1373
1385
|
meta: file.meta,
|
|
1374
|
-
banner: resolver.resolveBanner(
|
|
1386
|
+
banner: resolver.resolveBanner(inputNode, {
|
|
1375
1387
|
output,
|
|
1376
1388
|
config
|
|
1377
1389
|
}),
|
|
1378
|
-
footer: resolver.resolveFooter(
|
|
1390
|
+
footer: resolver.resolveFooter(inputNode, {
|
|
1379
1391
|
output,
|
|
1380
1392
|
config
|
|
1381
1393
|
}),
|
|
@@ -1472,11 +1484,11 @@ function resolveZodImportNames(node, zodResolver) {
|
|
|
1472
1484
|
}
|
|
1473
1485
|
const staticClassClientGenerator = defineGenerator({
|
|
1474
1486
|
name: "staticClassClient",
|
|
1475
|
-
renderer:
|
|
1487
|
+
renderer: jsxRendererSync,
|
|
1476
1488
|
operations(nodes, ctx) {
|
|
1477
|
-
const {
|
|
1489
|
+
const { config, driver, resolver, root, inputNode } = ctx;
|
|
1478
1490
|
const { output, group, dataReturnType, paramsCasing, paramsType, pathParamsType, parser, importPath } = ctx.options;
|
|
1479
|
-
const baseURL = ctx.options.baseURL ??
|
|
1491
|
+
const baseURL = ctx.options.baseURL ?? inputNode.meta?.baseURL;
|
|
1480
1492
|
const pluginTs = driver.getPlugin(pluginTsName);
|
|
1481
1493
|
if (!pluginTs) return null;
|
|
1482
1494
|
const tsResolver = driver.getResolver(pluginTsName);
|
|
@@ -1602,11 +1614,11 @@ const staticClassClientGenerator = defineGenerator({
|
|
|
1602
1614
|
baseName: file.baseName,
|
|
1603
1615
|
path: file.path,
|
|
1604
1616
|
meta: file.meta,
|
|
1605
|
-
banner: resolver.resolveBanner(
|
|
1617
|
+
banner: resolver.resolveBanner(inputNode, {
|
|
1606
1618
|
output,
|
|
1607
1619
|
config
|
|
1608
1620
|
}),
|
|
1609
|
-
footer: resolver.resolveFooter(
|
|
1621
|
+
footer: resolver.resolveFooter(inputNode, {
|
|
1610
1622
|
output,
|
|
1611
1623
|
config
|
|
1612
1624
|
}),
|