@kubb/core 1.10.0-canary.20231007T144632 → 1.10.1

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
@@ -2,18 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var pc3 = require('picocolors');
5
6
  var crypto = require('crypto');
6
- var fs = require('fs-extra');
7
7
  var pathParser2 = require('path');
8
+ var fs = require('fs-extra');
8
9
  var jsRuntime = require('js-runtime');
9
10
  var changeCase = require('change-case');
10
11
  var naturalOrderby = require('natural-orderby');
11
12
  var perf_hooks = require('perf_hooks');
12
13
  var dirTree = require('directory-tree');
13
14
  var mod = require('module');
14
- var url = require('url');
15
15
  var os = require('os');
16
- var pc3 = require('picocolors');
16
+ var url = require('url');
17
17
  var seedrandom = require('seedrandom');
18
18
  var tsCodegen = require('@kubb/ts-codegen');
19
19
  var isEqual = require('lodash.isequal');
@@ -21,17 +21,17 @@ var events = require('events');
21
21
 
22
22
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
23
23
 
24
+ var pc3__default = /*#__PURE__*/_interopDefault(pc3);
24
25
  var crypto__default = /*#__PURE__*/_interopDefault(crypto);
25
- var fs__default = /*#__PURE__*/_interopDefault(fs);
26
26
  var pathParser2__default = /*#__PURE__*/_interopDefault(pathParser2);
27
+ var fs__default = /*#__PURE__*/_interopDefault(fs);
27
28
  var dirTree__default = /*#__PURE__*/_interopDefault(dirTree);
28
29
  var mod__default = /*#__PURE__*/_interopDefault(mod);
29
30
  var os__default = /*#__PURE__*/_interopDefault(os);
30
- var pc3__default = /*#__PURE__*/_interopDefault(pc3);
31
31
  var seedrandom__default = /*#__PURE__*/_interopDefault(seedrandom);
32
32
  var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
33
33
 
34
- // src/managers/fileManager/FileManager.ts
34
+ // src/build.ts
35
35
 
36
36
  // src/utils/isPromise.ts
37
37
  function isPromise(result) {
@@ -649,14 +649,23 @@ var URLPath = class _URLPath {
649
649
  get template() {
650
650
  return this.toTemplateString();
651
651
  }
652
+ get object() {
653
+ return this.toObject();
654
+ }
655
+ get params() {
656
+ return this.getParams();
657
+ }
658
+ toObject(options = {}) {
659
+ return _URLPath.toObject(this.path, options);
660
+ }
652
661
  /**
653
662
  * Convert Swagger path to template literals/ template strings(camelcase)
654
663
  * @example /pet/{petId} => `/pet/${petId}`
655
664
  * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
656
665
  * @example /account/userID => `/account/${userId}`
657
666
  */
658
- toTemplateString() {
659
- return _URLPath.toTemplateString(this.path);
667
+ toTemplateString(replacer) {
668
+ return _URLPath.toTemplateString(this.path, replacer);
660
669
  }
661
670
  /**
662
671
  * Convert Swagger path to template literals/ template strings(camelcase)
@@ -664,18 +673,36 @@ var URLPath = class _URLPath {
664
673
  * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
665
674
  * @example /account/userID => `/account/${userId}`
666
675
  */
667
- static toTemplateString(path) {
676
+ static toTemplateString(path, replacer) {
668
677
  const regex = /{(\w|-)*}/g;
669
678
  const found = path.match(regex);
670
679
  let newPath = path.replaceAll("{", "${");
671
680
  if (found) {
672
681
  newPath = found.reduce((prev, curr) => {
673
- const replacement = `\${${changeCase.camelCase(curr, { delimiter: "", transform: changeCase.camelCaseTransformMerge })}}`;
682
+ const pathParam = replacer ? replacer(changeCase.camelCase(curr, { delimiter: "", transform: changeCase.camelCaseTransformMerge })) : changeCase.camelCase(curr, { delimiter: "", transform: changeCase.camelCaseTransformMerge });
683
+ const replacement = `\${${pathParam}}`;
674
684
  return prev.replace(curr, replacement);
675
685
  }, path);
676
686
  }
677
687
  return `\`${newPath}\``;
678
688
  }
689
+ getParams(replacer) {
690
+ return _URLPath.getParams(this.path, replacer);
691
+ }
692
+ static getParams(path, replacer) {
693
+ const regex = /{(\w|-)*}/g;
694
+ const found = path.match(regex);
695
+ if (!found) {
696
+ return void 0;
697
+ }
698
+ const params = {};
699
+ found.forEach((item) => {
700
+ item = item.replaceAll("{", "").replaceAll("}", "");
701
+ const pathParam = replacer ? replacer(changeCase.camelCase(item, { delimiter: "", transform: changeCase.camelCaseTransformMerge })) : changeCase.camelCase(item, { delimiter: "", transform: changeCase.camelCaseTransformMerge });
702
+ params[pathParam] = pathParam;
703
+ }, path);
704
+ return params;
705
+ }
679
706
  /**
680
707
  * Convert Swagger path to URLPath(syntax of Express)
681
708
  * @example /pet/{petId} => /pet/:petId
@@ -686,6 +713,19 @@ var URLPath = class _URLPath {
686
713
  static toURLPath(path) {
687
714
  return path.replaceAll("{", ":").replaceAll("}", "");
688
715
  }
716
+ static toObject(path, { type = "path", replacer, stringify } = {}) {
717
+ const object = {
718
+ url: type === "path" ? _URLPath.toURLPath(path) : _URLPath.toTemplateString(path, replacer),
719
+ params: _URLPath.getParams(path)
720
+ };
721
+ if (stringify) {
722
+ if (type !== "template") {
723
+ throw new Error("Type should be `template` when using stringiyf");
724
+ }
725
+ return JSON.stringify(object).replaceAll("'", "").replaceAll(`"`, "");
726
+ }
727
+ return object;
728
+ }
689
729
  static isURL(path) {
690
730
  try {
691
731
  const url = new URL(path);
@@ -1041,6 +1081,18 @@ var definePlugin = createPlugin((options) => {
1041
1081
  }
1042
1082
  };
1043
1083
  });
1084
+ var EventEmitter = class {
1085
+ emitter = new events.EventEmitter();
1086
+ emit(eventName, ...eventArg) {
1087
+ this.emitter.emit(eventName, ...eventArg);
1088
+ }
1089
+ on(eventName, handler) {
1090
+ this.emitter.on(eventName, handler);
1091
+ }
1092
+ off(eventName, handler) {
1093
+ this.emitter.off(eventName, handler);
1094
+ }
1095
+ };
1044
1096
 
1045
1097
  // src/managers/pluginManager/ParallelPluginError.ts
1046
1098
  var ParallelPluginError = class extends Error {
@@ -1079,18 +1131,6 @@ var PluginError = class extends Error {
1079
1131
  this.pluginManager = options.pluginManager;
1080
1132
  }
1081
1133
  };
1082
- var EventEmitter = class {
1083
- emitter = new events.EventEmitter();
1084
- emit(eventName, ...eventArg) {
1085
- this.emitter.emit(eventName, ...eventArg);
1086
- }
1087
- on(eventName, handler) {
1088
- this.emitter.on(eventName, handler);
1089
- }
1090
- off(eventName, handler) {
1091
- this.emitter.off(eventName, handler);
1092
- }
1093
- };
1094
1134
 
1095
1135
  // src/managers/pluginManager/pluginParser.ts
1096
1136
  function pluginParser(plugin, context) {