@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 CHANGED
@@ -401,7 +401,17 @@ function resolveErrorNames(node, resolver) {
401
401
  function resolveStatusCodeNames(node, resolver) {
402
402
  return node.responses.map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
403
403
  }
404
+ const typeNamesByResolver = /* @__PURE__ */ new WeakMap();
404
405
  function resolveOperationTypeNames(node, resolver, options = {}) {
406
+ const cacheKey = `${node.operationId}\0${options.paramsCasing ?? ""}\0${options.order ?? ""}\0${options.responseStatusNames ?? ""}\0${(options.exclude ?? []).join(",")}`;
407
+ let byResolver = typeNamesByResolver.get(resolver);
408
+ if (byResolver) {
409
+ const cached = byResolver.get(cacheKey);
410
+ if (cached) return cached;
411
+ } else {
412
+ byResolver = /* @__PURE__ */ new Map();
413
+ typeNamesByResolver.set(resolver, byResolver);
414
+ }
405
415
  const { path, query, header } = getOperationParameters(node, { paramsCasing: options.paramsCasing });
406
416
  const responseStatusNames = options.responseStatusNames === "error" ? resolveErrorNames(node, resolver) : options.responseStatusNames === false ? [] : resolveStatusCodeNames(node, resolver);
407
417
  const exclude = new Set(options.exclude ?? []);
@@ -411,7 +421,7 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
411
421
  ...header.map((param) => resolver.resolveHeaderParamsName(node, param))
412
422
  ];
413
423
  const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0, resolver.resolveResponseName(node)];
414
- return (options.order === "body-response-first" ? [
424
+ const result = (options.order === "body-response-first" ? [
415
425
  ...bodyAndResponseNames,
416
426
  ...paramNames,
417
427
  ...responseStatusNames
@@ -420,6 +430,8 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
420
430
  ...bodyAndResponseNames,
421
431
  ...responseStatusNames
422
432
  ]).filter((name) => Boolean(name) && !exclude.has(name));
433
+ byResolver.set(cacheKey, result);
434
+ return result;
423
435
  }
424
436
  //#endregion
425
437
  //#region ../../internals/shared/src/params.ts
@@ -854,11 +866,11 @@ function resolveZodImportNames$1(node, zodResolver) {
854
866
  require_chunk.__name(resolveZodImportNames$1, "resolveZodImportNames");
855
867
  const classClientGenerator = (0, _kubb_core.defineGenerator)({
856
868
  name: "classClient",
857
- renderer: _kubb_renderer_jsx.jsxRenderer,
869
+ renderer: _kubb_renderer_jsx.jsxRendererSync,
858
870
  operations(nodes, ctx) {
859
- const { adapter, config, driver, resolver, root } = ctx;
871
+ const { config, driver, resolver, root, inputNode } = ctx;
860
872
  const { output, group, dataReturnType, paramsCasing, paramsType, pathParamsType, parser, importPath, sdk } = ctx.options;
861
- const baseURL = ctx.options.baseURL ?? adapter.inputNode?.meta?.baseURL;
873
+ const baseURL = ctx.options.baseURL ?? inputNode.meta?.baseURL;
862
874
  const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
863
875
  if (!pluginTs) return null;
864
876
  const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
@@ -986,11 +998,11 @@ const classClientGenerator = (0, _kubb_core.defineGenerator)({
986
998
  baseName: file.baseName,
987
999
  path: file.path,
988
1000
  meta: file.meta,
989
- banner: resolver.resolveBanner(adapter.inputNode, {
1001
+ banner: resolver.resolveBanner(inputNode, {
990
1002
  output,
991
1003
  config
992
1004
  }),
993
- footer: resolver.resolveFooter(adapter.inputNode, {
1005
+ footer: resolver.resolveFooter(inputNode, {
994
1006
  output,
995
1007
  config
996
1008
  }),
@@ -1089,11 +1101,11 @@ const classClientGenerator = (0, _kubb_core.defineGenerator)({
1089
1101
  baseName: sdkFile.baseName,
1090
1102
  path: sdkFile.path,
1091
1103
  meta: sdkFile.meta,
1092
- banner: resolver.resolveBanner(adapter.inputNode, {
1104
+ banner: resolver.resolveBanner(inputNode, {
1093
1105
  output,
1094
1106
  config
1095
1107
  }),
1096
- footer: resolver.resolveFooter(adapter.inputNode, {
1108
+ footer: resolver.resolveFooter(inputNode, {
1097
1109
  output,
1098
1110
  config
1099
1111
  }),
@@ -1130,11 +1142,11 @@ const classClientGenerator = (0, _kubb_core.defineGenerator)({
1130
1142
  //#region src/generators/clientGenerator.tsx
1131
1143
  const clientGenerator = (0, _kubb_core.defineGenerator)({
1132
1144
  name: "client",
1133
- renderer: _kubb_renderer_jsx.jsxRenderer,
1145
+ renderer: _kubb_renderer_jsx.jsxRendererSync,
1134
1146
  operation(node, ctx) {
1135
- const { adapter, config, driver, resolver, root } = ctx;
1147
+ const { config, driver, resolver, root, inputNode } = ctx;
1136
1148
  const { output, urlType, dataReturnType, paramsCasing, paramsType, pathParamsType, parser, importPath, group } = ctx.options;
1137
- const baseURL = ctx.options.baseURL ?? adapter.inputNode?.meta?.baseURL;
1149
+ const baseURL = ctx.options.baseURL ?? inputNode.meta?.baseURL;
1138
1150
  const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
1139
1151
  if (!pluginTs) return null;
1140
1152
  const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
@@ -1181,11 +1193,11 @@ const clientGenerator = (0, _kubb_core.defineGenerator)({
1181
1193
  baseName: meta.file.baseName,
1182
1194
  path: meta.file.path,
1183
1195
  meta: meta.file.meta,
1184
- banner: resolver.resolveBanner(adapter.inputNode, {
1196
+ banner: resolver.resolveBanner(inputNode, {
1185
1197
  output,
1186
1198
  config
1187
1199
  }),
1188
- footer: resolver.resolveFooter(adapter.inputNode, {
1200
+ footer: resolver.resolveFooter(inputNode, {
1189
1201
  output,
1190
1202
  config
1191
1203
  }),
@@ -1263,9 +1275,9 @@ const clientGenerator = (0, _kubb_core.defineGenerator)({
1263
1275
  //#region src/generators/groupedClientGenerator.tsx
1264
1276
  const groupedClientGenerator = (0, _kubb_core.defineGenerator)({
1265
1277
  name: "groupedClient",
1266
- renderer: _kubb_renderer_jsx.jsxRenderer,
1278
+ renderer: _kubb_renderer_jsx.jsxRendererSync,
1267
1279
  operations(nodes, ctx) {
1268
- const { config, resolver, adapter, root } = ctx;
1280
+ const { config, resolver, root, inputNode } = ctx;
1269
1281
  const { output, group } = ctx.options;
1270
1282
  return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: nodes.reduce((acc, operationNode) => {
1271
1283
  if (group?.type === "tag") {
@@ -1309,11 +1321,11 @@ const groupedClientGenerator = (0, _kubb_core.defineGenerator)({
1309
1321
  baseName: file.baseName,
1310
1322
  path: file.path,
1311
1323
  meta: file.meta,
1312
- banner: resolver.resolveBanner(adapter.inputNode, {
1324
+ banner: resolver.resolveBanner(inputNode, {
1313
1325
  output,
1314
1326
  config
1315
1327
  }),
1316
- footer: resolver.resolveFooter(adapter.inputNode, {
1328
+ footer: resolver.resolveFooter(inputNode, {
1317
1329
  output,
1318
1330
  config
1319
1331
  }),
@@ -1360,9 +1372,9 @@ function Operations({ name, nodes }) {
1360
1372
  //#region src/generators/operationsGenerator.tsx
1361
1373
  const operationsGenerator = (0, _kubb_core.defineGenerator)({
1362
1374
  name: "client",
1363
- renderer: _kubb_renderer_jsx.jsxRenderer,
1375
+ renderer: _kubb_renderer_jsx.jsxRendererSync,
1364
1376
  operations(nodes, ctx) {
1365
- const { config, resolver, adapter, root } = ctx;
1377
+ const { config, resolver, root, inputNode } = ctx;
1366
1378
  const { output, group } = ctx.options;
1367
1379
  const name = "operations";
1368
1380
  const file = resolver.resolveFile({
@@ -1377,11 +1389,11 @@ const operationsGenerator = (0, _kubb_core.defineGenerator)({
1377
1389
  baseName: file.baseName,
1378
1390
  path: file.path,
1379
1391
  meta: file.meta,
1380
- banner: resolver.resolveBanner(adapter.inputNode, {
1392
+ banner: resolver.resolveBanner(inputNode, {
1381
1393
  output,
1382
1394
  config
1383
1395
  }),
1384
- footer: resolver.resolveFooter(adapter.inputNode, {
1396
+ footer: resolver.resolveFooter(inputNode, {
1385
1397
  output,
1386
1398
  config
1387
1399
  }),
@@ -1478,11 +1490,11 @@ function resolveZodImportNames(node, zodResolver) {
1478
1490
  }
1479
1491
  const staticClassClientGenerator = (0, _kubb_core.defineGenerator)({
1480
1492
  name: "staticClassClient",
1481
- renderer: _kubb_renderer_jsx.jsxRenderer,
1493
+ renderer: _kubb_renderer_jsx.jsxRendererSync,
1482
1494
  operations(nodes, ctx) {
1483
- const { adapter, config, driver, resolver, root } = ctx;
1495
+ const { config, driver, resolver, root, inputNode } = ctx;
1484
1496
  const { output, group, dataReturnType, paramsCasing, paramsType, pathParamsType, parser, importPath } = ctx.options;
1485
- const baseURL = ctx.options.baseURL ?? adapter.inputNode?.meta?.baseURL;
1497
+ const baseURL = ctx.options.baseURL ?? inputNode.meta?.baseURL;
1486
1498
  const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
1487
1499
  if (!pluginTs) return null;
1488
1500
  const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
@@ -1608,11 +1620,11 @@ const staticClassClientGenerator = (0, _kubb_core.defineGenerator)({
1608
1620
  baseName: file.baseName,
1609
1621
  path: file.path,
1610
1622
  meta: file.meta,
1611
- banner: resolver.resolveBanner(adapter.inputNode, {
1623
+ banner: resolver.resolveBanner(inputNode, {
1612
1624
  output,
1613
1625
  config
1614
1626
  }),
1615
- footer: resolver.resolveFooter(adapter.inputNode, {
1627
+ footer: resolver.resolveFooter(inputNode, {
1616
1628
  output,
1617
1629
  config
1618
1630
  }),