@kubb/plugin-client 5.0.0-beta.10 → 5.0.0-beta.22
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 +48 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +49 -32
- package/dist/index.js.map +1 -1
- package/extension.yaml +14 -11
- package/package.json +7 -7
- package/src/components/ClassClient.tsx +2 -2
- package/src/components/Client.tsx +1 -1
- package/src/components/StaticClassClient.tsx +2 -2
- package/src/components/Url.tsx +1 -1
- package/src/generators/classClientGenerator.tsx +12 -9
- 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 +10 -7
- package/src/utils.ts +1 -1
package/dist/index.cjs
CHANGED
|
@@ -300,12 +300,13 @@ var URLPath = class {
|
|
|
300
300
|
* @example
|
|
301
301
|
* new URLPath('/pet/{petId}').toTemplateString() // '`/pet/${petId}`'
|
|
302
302
|
*/
|
|
303
|
-
toTemplateString({ prefix
|
|
304
|
-
|
|
303
|
+
toTemplateString({ prefix, replacer } = {}) {
|
|
304
|
+
const result = this.path.split(/\{([^}]+)\}/).map((part, i) => {
|
|
305
305
|
if (i % 2 === 0) return part;
|
|
306
306
|
const param = this.#transformParam(part);
|
|
307
307
|
return `\${${replacer ? replacer(param) : param}}`;
|
|
308
|
-
}).join("")
|
|
308
|
+
}).join("");
|
|
309
|
+
return `\`${prefix ?? ""}${result}\``;
|
|
309
310
|
}
|
|
310
311
|
/**
|
|
311
312
|
* Extracts all `{param}` segments from the path and returns them as a key-value map.
|
|
@@ -401,7 +402,17 @@ function resolveErrorNames(node, resolver) {
|
|
|
401
402
|
function resolveStatusCodeNames(node, resolver) {
|
|
402
403
|
return node.responses.map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
|
|
403
404
|
}
|
|
405
|
+
const typeNamesByResolver = /* @__PURE__ */ new WeakMap();
|
|
404
406
|
function resolveOperationTypeNames(node, resolver, options = {}) {
|
|
407
|
+
const cacheKey = `${node.operationId}\0${options.paramsCasing ?? ""}\0${options.order ?? ""}\0${options.responseStatusNames ?? ""}\0${(options.exclude ?? []).join(",")}`;
|
|
408
|
+
let byResolver = typeNamesByResolver.get(resolver);
|
|
409
|
+
if (byResolver) {
|
|
410
|
+
const cached = byResolver.get(cacheKey);
|
|
411
|
+
if (cached) return cached;
|
|
412
|
+
} else {
|
|
413
|
+
byResolver = /* @__PURE__ */ new Map();
|
|
414
|
+
typeNamesByResolver.set(resolver, byResolver);
|
|
415
|
+
}
|
|
405
416
|
const { path, query, header } = getOperationParameters(node, { paramsCasing: options.paramsCasing });
|
|
406
417
|
const responseStatusNames = options.responseStatusNames === "error" ? resolveErrorNames(node, resolver) : options.responseStatusNames === false ? [] : resolveStatusCodeNames(node, resolver);
|
|
407
418
|
const exclude = new Set(options.exclude ?? []);
|
|
@@ -411,7 +422,7 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
|
|
|
411
422
|
...header.map((param) => resolver.resolveHeaderParamsName(node, param))
|
|
412
423
|
];
|
|
413
424
|
const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0, resolver.resolveResponseName(node)];
|
|
414
|
-
|
|
425
|
+
const result = (options.order === "body-response-first" ? [
|
|
415
426
|
...bodyAndResponseNames,
|
|
416
427
|
...paramNames,
|
|
417
428
|
...responseStatusNames
|
|
@@ -420,6 +431,8 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
|
|
|
420
431
|
...bodyAndResponseNames,
|
|
421
432
|
...responseStatusNames
|
|
422
433
|
]).filter((name) => Boolean(name) && !exclude.has(name));
|
|
434
|
+
byResolver.set(cacheKey, result);
|
|
435
|
+
return result;
|
|
423
436
|
}
|
|
424
437
|
//#endregion
|
|
425
438
|
//#region ../../internals/shared/src/params.ts
|
|
@@ -854,11 +867,11 @@ function resolveZodImportNames$1(node, zodResolver) {
|
|
|
854
867
|
require_chunk.__name(resolveZodImportNames$1, "resolveZodImportNames");
|
|
855
868
|
const classClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
856
869
|
name: "classClient",
|
|
857
|
-
renderer: _kubb_renderer_jsx.
|
|
870
|
+
renderer: _kubb_renderer_jsx.jsxRendererSync,
|
|
858
871
|
operations(nodes, ctx) {
|
|
859
|
-
const {
|
|
872
|
+
const { config, driver, resolver, root } = ctx;
|
|
860
873
|
const { output, group, dataReturnType, paramsCasing, paramsType, pathParamsType, parser, importPath, sdk } = ctx.options;
|
|
861
|
-
const baseURL = ctx.options.baseURL ??
|
|
874
|
+
const baseURL = ctx.options.baseURL ?? ctx.meta.baseURL;
|
|
862
875
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
863
876
|
if (!pluginTs) return null;
|
|
864
877
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
@@ -917,7 +930,9 @@ const classClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
917
930
|
file,
|
|
918
931
|
operations: [operationData]
|
|
919
932
|
});
|
|
920
|
-
|
|
933
|
+
return acc;
|
|
934
|
+
}
|
|
935
|
+
if (tag) {
|
|
921
936
|
const name = groupName;
|
|
922
937
|
const file = resolver.resolveFile({
|
|
923
938
|
name,
|
|
@@ -986,11 +1001,11 @@ const classClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
986
1001
|
baseName: file.baseName,
|
|
987
1002
|
path: file.path,
|
|
988
1003
|
meta: file.meta,
|
|
989
|
-
banner: resolver.resolveBanner(
|
|
1004
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
990
1005
|
output,
|
|
991
1006
|
config
|
|
992
1007
|
}),
|
|
993
|
-
footer: resolver.resolveFooter(
|
|
1008
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
994
1009
|
output,
|
|
995
1010
|
config
|
|
996
1011
|
}),
|
|
@@ -1089,11 +1104,11 @@ const classClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1089
1104
|
baseName: sdkFile.baseName,
|
|
1090
1105
|
path: sdkFile.path,
|
|
1091
1106
|
meta: sdkFile.meta,
|
|
1092
|
-
banner: resolver.resolveBanner(
|
|
1107
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
1093
1108
|
output,
|
|
1094
1109
|
config
|
|
1095
1110
|
}),
|
|
1096
|
-
footer: resolver.resolveFooter(
|
|
1111
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
1097
1112
|
output,
|
|
1098
1113
|
config
|
|
1099
1114
|
}),
|
|
@@ -1130,11 +1145,11 @@ const classClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1130
1145
|
//#region src/generators/clientGenerator.tsx
|
|
1131
1146
|
const clientGenerator = (0, _kubb_core.defineGenerator)({
|
|
1132
1147
|
name: "client",
|
|
1133
|
-
renderer: _kubb_renderer_jsx.
|
|
1148
|
+
renderer: _kubb_renderer_jsx.jsxRendererSync,
|
|
1134
1149
|
operation(node, ctx) {
|
|
1135
|
-
const {
|
|
1150
|
+
const { config, driver, resolver, root } = ctx;
|
|
1136
1151
|
const { output, urlType, dataReturnType, paramsCasing, paramsType, pathParamsType, parser, importPath, group } = ctx.options;
|
|
1137
|
-
const baseURL = ctx.options.baseURL ??
|
|
1152
|
+
const baseURL = ctx.options.baseURL ?? ctx.meta.baseURL;
|
|
1138
1153
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
1139
1154
|
if (!pluginTs) return null;
|
|
1140
1155
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
@@ -1181,11 +1196,11 @@ const clientGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1181
1196
|
baseName: meta.file.baseName,
|
|
1182
1197
|
path: meta.file.path,
|
|
1183
1198
|
meta: meta.file.meta,
|
|
1184
|
-
banner: resolver.resolveBanner(
|
|
1199
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
1185
1200
|
output,
|
|
1186
1201
|
config
|
|
1187
1202
|
}),
|
|
1188
|
-
footer: resolver.resolveFooter(
|
|
1203
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
1189
1204
|
output,
|
|
1190
1205
|
config
|
|
1191
1206
|
}),
|
|
@@ -1263,9 +1278,9 @@ const clientGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1263
1278
|
//#region src/generators/groupedClientGenerator.tsx
|
|
1264
1279
|
const groupedClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
1265
1280
|
name: "groupedClient",
|
|
1266
|
-
renderer: _kubb_renderer_jsx.
|
|
1281
|
+
renderer: _kubb_renderer_jsx.jsxRendererSync,
|
|
1267
1282
|
operations(nodes, ctx) {
|
|
1268
|
-
const { config, resolver,
|
|
1283
|
+
const { config, resolver, root } = ctx;
|
|
1269
1284
|
const { output, group } = ctx.options;
|
|
1270
1285
|
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: nodes.reduce((acc, operationNode) => {
|
|
1271
1286
|
if (group?.type === "tag") {
|
|
@@ -1309,11 +1324,11 @@ const groupedClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1309
1324
|
baseName: file.baseName,
|
|
1310
1325
|
path: file.path,
|
|
1311
1326
|
meta: file.meta,
|
|
1312
|
-
banner: resolver.resolveBanner(
|
|
1327
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
1313
1328
|
output,
|
|
1314
1329
|
config
|
|
1315
1330
|
}),
|
|
1316
|
-
footer: resolver.resolveFooter(
|
|
1331
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
1317
1332
|
output,
|
|
1318
1333
|
config
|
|
1319
1334
|
}),
|
|
@@ -1360,9 +1375,9 @@ function Operations({ name, nodes }) {
|
|
|
1360
1375
|
//#region src/generators/operationsGenerator.tsx
|
|
1361
1376
|
const operationsGenerator = (0, _kubb_core.defineGenerator)({
|
|
1362
1377
|
name: "client",
|
|
1363
|
-
renderer: _kubb_renderer_jsx.
|
|
1378
|
+
renderer: _kubb_renderer_jsx.jsxRendererSync,
|
|
1364
1379
|
operations(nodes, ctx) {
|
|
1365
|
-
const { config, resolver,
|
|
1380
|
+
const { config, resolver, root } = ctx;
|
|
1366
1381
|
const { output, group } = ctx.options;
|
|
1367
1382
|
const name = "operations";
|
|
1368
1383
|
const file = resolver.resolveFile({
|
|
@@ -1377,11 +1392,11 @@ const operationsGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1377
1392
|
baseName: file.baseName,
|
|
1378
1393
|
path: file.path,
|
|
1379
1394
|
meta: file.meta,
|
|
1380
|
-
banner: resolver.resolveBanner(
|
|
1395
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
1381
1396
|
output,
|
|
1382
1397
|
config
|
|
1383
1398
|
}),
|
|
1384
|
-
footer: resolver.resolveFooter(
|
|
1399
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
1385
1400
|
output,
|
|
1386
1401
|
config
|
|
1387
1402
|
}),
|
|
@@ -1478,11 +1493,11 @@ function resolveZodImportNames(node, zodResolver) {
|
|
|
1478
1493
|
}
|
|
1479
1494
|
const staticClassClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
1480
1495
|
name: "staticClassClient",
|
|
1481
|
-
renderer: _kubb_renderer_jsx.
|
|
1496
|
+
renderer: _kubb_renderer_jsx.jsxRendererSync,
|
|
1482
1497
|
operations(nodes, ctx) {
|
|
1483
|
-
const {
|
|
1498
|
+
const { config, driver, resolver, root } = ctx;
|
|
1484
1499
|
const { output, group, dataReturnType, paramsCasing, paramsType, pathParamsType, parser, importPath } = ctx.options;
|
|
1485
|
-
const baseURL = ctx.options.baseURL ??
|
|
1500
|
+
const baseURL = ctx.options.baseURL ?? ctx.meta.baseURL;
|
|
1486
1501
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
1487
1502
|
if (!pluginTs) return null;
|
|
1488
1503
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
@@ -1540,7 +1555,9 @@ const staticClassClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1540
1555
|
file,
|
|
1541
1556
|
operations: [operationData]
|
|
1542
1557
|
});
|
|
1543
|
-
|
|
1558
|
+
return acc;
|
|
1559
|
+
}
|
|
1560
|
+
if (tag) {
|
|
1544
1561
|
const name = groupName;
|
|
1545
1562
|
const file = resolver.resolveFile({
|
|
1546
1563
|
name,
|
|
@@ -1608,11 +1625,11 @@ const staticClassClientGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1608
1625
|
baseName: file.baseName,
|
|
1609
1626
|
path: file.path,
|
|
1610
1627
|
meta: file.meta,
|
|
1611
|
-
banner: resolver.resolveBanner(
|
|
1628
|
+
banner: resolver.resolveBanner(ctx.meta, {
|
|
1612
1629
|
output,
|
|
1613
1630
|
config
|
|
1614
1631
|
}),
|
|
1615
|
-
footer: resolver.resolveFooter(
|
|
1632
|
+
footer: resolver.resolveFooter(ctx.meta, {
|
|
1616
1633
|
output,
|
|
1617
1634
|
config
|
|
1618
1635
|
}),
|