@kubb/core 2.6.6 → 2.7.0

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.
Files changed (77) hide show
  1. package/dist/{chunk-NGM34FB2.cjs → chunk-2JNTDAI2.cjs} +17 -17
  2. package/dist/{chunk-NGM34FB2.cjs.map → chunk-2JNTDAI2.cjs.map} +1 -1
  3. package/dist/{chunk-IAM2TSOD.js → chunk-3HKED6KQ.js} +59 -23
  4. package/dist/chunk-3HKED6KQ.js.map +1 -0
  5. package/dist/{chunk-DZ63TRO3.js → chunk-6453B5D6.js} +13 -5
  6. package/dist/chunk-6453B5D6.js.map +1 -0
  7. package/dist/{chunk-DDBPI6U7.js → chunk-7LKI2367.js} +12 -7
  8. package/dist/chunk-7LKI2367.js.map +1 -0
  9. package/dist/{chunk-FEAY5FTX.cjs → chunk-AMVMOCJ4.cjs} +23 -22
  10. package/dist/{chunk-O6KGDMGN.cjs → chunk-BCD4E3IZ.cjs} +303 -298
  11. package/dist/chunk-BCD4E3IZ.cjs.map +1 -0
  12. package/dist/{chunk-QUL3TACU.js → chunk-DUZFWQUE.js} +13 -8
  13. package/dist/chunk-DUZFWQUE.js.map +1 -0
  14. package/dist/{chunk-RVIZ52LV.js → chunk-E4QOZYOP.js} +24 -10
  15. package/dist/chunk-E4QOZYOP.js.map +1 -0
  16. package/dist/chunk-EFAVSUDO.cjs +19 -0
  17. package/dist/{chunk-XMJY6AMI.js → chunk-HTCJOTLL.js} +11 -7
  18. package/dist/chunk-HTCJOTLL.js.map +1 -0
  19. package/dist/{chunk-DNFR6EDG.cjs → chunk-JWYPCGK5.cjs} +14 -13
  20. package/dist/{chunk-DZZXW555.cjs → chunk-KRX65PCH.cjs} +32 -29
  21. package/dist/{chunk-B3FP7HMI.cjs → chunk-M5H5RXTY.cjs} +12 -9
  22. package/dist/{chunk-JQBPOWRF.cjs → chunk-PHI4BK5K.cjs} +162 -124
  23. package/dist/{chunk-7QEHTZ4T.js → chunk-QDUQWRFO.js} +8 -4
  24. package/dist/chunk-QDUQWRFO.js.map +1 -0
  25. package/dist/{chunk-MCUCYURB.js → chunk-VCS7BATE.js} +10 -5
  26. package/dist/chunk-VCS7BATE.js.map +1 -0
  27. package/dist/{chunk-CPVVYFYJ.cjs → chunk-WCUXF325.cjs} +8 -7
  28. package/dist/{chunk-P5VTO36N.cjs → chunk-WDKUUZXN.cjs} +21 -17
  29. package/dist/chunk-YFNYSIDY.js +15 -0
  30. package/dist/chunk-YFNYSIDY.js.map +1 -0
  31. package/dist/{chunk-5TWA5OHW.js → chunk-YNFGR7GL.js} +10 -4
  32. package/dist/chunk-YNFGR7GL.js.map +1 -0
  33. package/dist/fs.cjs +21 -28
  34. package/dist/fs.js +21 -5
  35. package/dist/fs.js.map +1 -1
  36. package/dist/index.cjs +189 -189
  37. package/dist/index.cjs.map +1 -1
  38. package/dist/index.d.cts +8 -2
  39. package/dist/index.d.ts +8 -2
  40. package/dist/index.js +61 -19
  41. package/dist/index.js.map +1 -1
  42. package/dist/logger.cjs +14 -25
  43. package/dist/logger.js +14 -4
  44. package/dist/logger.js.map +1 -1
  45. package/dist/mocks.cjs +14 -12
  46. package/dist/mocks.js +15 -11
  47. package/dist/mocks.js.map +1 -1
  48. package/dist/transformers.cjs +40 -54
  49. package/dist/transformers.js +30 -8
  50. package/dist/transformers.js.map +1 -1
  51. package/dist/utils.cjs +34 -36
  52. package/dist/utils.js +25 -8
  53. package/dist/utils.js.map +1 -1
  54. package/package.json +4 -4
  55. package/src/FileManager.ts +14 -4
  56. package/src/index.ts +1 -1
  57. package/dist/chunk-33K7PH2K.cjs +0 -15
  58. package/dist/chunk-CPVVYFYJ.cjs.map +0 -1
  59. package/dist/chunk-DDBPI6U7.js.map +0 -1
  60. package/dist/chunk-DNFR6EDG.cjs.map +0 -1
  61. package/dist/chunk-DZ63TRO3.js.map +0 -1
  62. package/dist/chunk-IAM2TSOD.js.map +0 -1
  63. package/dist/chunk-MCUCYURB.js.map +0 -1
  64. package/dist/chunk-O6KGDMGN.cjs.map +0 -1
  65. package/dist/chunk-QUL3TACU.js.map +0 -1
  66. package/dist/chunk-RVIZ52LV.js.map +0 -1
  67. package/dist/chunk-XMJY6AMI.js.map +0 -1
  68. package/dist/chunk-YETB7TYW.js +0 -12
  69. package/dist/chunk-YETB7TYW.js.map +0 -1
  70. /package/dist/{chunk-FEAY5FTX.cjs.map → chunk-AMVMOCJ4.cjs.map} +0 -0
  71. /package/dist/{chunk-33K7PH2K.cjs.map → chunk-EFAVSUDO.cjs.map} +0 -0
  72. /package/dist/{chunk-5TWA5OHW.js.map → chunk-JWYPCGK5.cjs.map} +0 -0
  73. /package/dist/{chunk-DZZXW555.cjs.map → chunk-KRX65PCH.cjs.map} +0 -0
  74. /package/dist/{chunk-B3FP7HMI.cjs.map → chunk-M5H5RXTY.cjs.map} +0 -0
  75. /package/dist/{chunk-JQBPOWRF.cjs.map → chunk-PHI4BK5K.cjs.map} +0 -0
  76. /package/dist/{chunk-7QEHTZ4T.js.map → chunk-WCUXF325.cjs.map} +0 -0
  77. /package/dist/{chunk-P5VTO36N.cjs.map → chunk-WDKUUZXN.cjs.map} +0 -0
@@ -1,22 +1,29 @@
1
- 'use strict';
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
3
 
5
- var chunkDNFR6EDG_cjs = require('./chunk-DNFR6EDG.cjs');
6
- var chunkFEAY5FTX_cjs = require('./chunk-FEAY5FTX.cjs');
7
- var chunkNGM34FB2_cjs = require('./chunk-NGM34FB2.cjs');
4
+
5
+
6
+ var _chunkJWYPCGK5cjs = require('./chunk-JWYPCGK5.cjs');
7
+
8
+
9
+
10
+
11
+ var _chunkAMVMOCJ4cjs = require('./chunk-AMVMOCJ4.cjs');
12
+
13
+
14
+ var _chunk2JNTDAI2cjs = require('./chunk-2JNTDAI2.cjs');
8
15
 
9
16
  // src/transformers/index.ts
10
- chunkNGM34FB2_cjs.init_cjs_shims();
17
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
11
18
 
12
19
  // src/transformers/combineCodes.ts
13
- chunkNGM34FB2_cjs.init_cjs_shims();
20
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
14
21
  function combineCodes(codes) {
15
22
  return codes.join("\n");
16
23
  }
17
24
 
18
25
  // src/transformers/createJSDocBlockText.ts
19
- chunkNGM34FB2_cjs.init_cjs_shims();
26
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
20
27
  function createJSDocBlockText({ comments }) {
21
28
  const filteredComments = comments.filter(Boolean);
22
29
  if (!filteredComments.length) {
@@ -28,7 +35,7 @@ function createJSDocBlockText({ comments }) {
28
35
  }
29
36
 
30
37
  // src/transformers/escape.ts
31
- chunkNGM34FB2_cjs.init_cjs_shims();
38
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
32
39
  function escape(text) {
33
40
  return text ? text.replaceAll("`", "\\`") : "";
34
41
  }
@@ -54,13 +61,13 @@ function jsStringEscape(input) {
54
61
  }
55
62
 
56
63
  // src/transformers/indent.ts
57
- chunkNGM34FB2_cjs.init_cjs_shims();
64
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
58
65
  function createIndent(size) {
59
66
  return Array.from({ length: size + 1 }).join(" ");
60
67
  }
61
68
 
62
69
  // src/transformers/nameSorter.ts
63
- chunkNGM34FB2_cjs.init_cjs_shims();
70
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
64
71
  function nameSorter(a, b) {
65
72
  if (a.name < b.name) {
66
73
  return -1;
@@ -77,53 +84,32 @@ var transformers_default = {
77
84
  escape,
78
85
  jsStringEscape,
79
86
  createIndent,
80
- transformReservedWord: chunkDNFR6EDG_cjs.transformReservedWord,
87
+ transformReservedWord: _chunkJWYPCGK5cjs.transformReservedWord,
81
88
  nameSorter,
82
- searchAndReplace: chunkDNFR6EDG_cjs.searchAndReplace,
83
- trim: chunkDNFR6EDG_cjs.trim,
84
- trimExtName: chunkDNFR6EDG_cjs.trimExtName,
89
+ searchAndReplace: _chunkJWYPCGK5cjs.searchAndReplace,
90
+ trim: _chunkJWYPCGK5cjs.trim,
91
+ trimExtName: _chunkJWYPCGK5cjs.trimExtName,
85
92
  JSDoc: {
86
93
  createJSDocBlockText
87
94
  },
88
- camelCase: chunkFEAY5FTX_cjs.camelCase,
89
- pascalCase: chunkFEAY5FTX_cjs.pascalCase,
90
- pathCase: chunkFEAY5FTX_cjs.pathCase
95
+ camelCase: _chunkAMVMOCJ4cjs.camelCase,
96
+ pascalCase: _chunkAMVMOCJ4cjs.pascalCase,
97
+ pathCase: _chunkAMVMOCJ4cjs.pathCase
91
98
  };
92
99
 
93
- Object.defineProperty(exports, "searchAndReplace", {
94
- enumerable: true,
95
- get: function () { return chunkDNFR6EDG_cjs.searchAndReplace; }
96
- });
97
- Object.defineProperty(exports, "transformReservedWord", {
98
- enumerable: true,
99
- get: function () { return chunkDNFR6EDG_cjs.transformReservedWord; }
100
- });
101
- Object.defineProperty(exports, "trim", {
102
- enumerable: true,
103
- get: function () { return chunkDNFR6EDG_cjs.trim; }
104
- });
105
- Object.defineProperty(exports, "trimExtName", {
106
- enumerable: true,
107
- get: function () { return chunkDNFR6EDG_cjs.trimExtName; }
108
- });
109
- Object.defineProperty(exports, "camelCase", {
110
- enumerable: true,
111
- get: function () { return chunkFEAY5FTX_cjs.camelCase; }
112
- });
113
- Object.defineProperty(exports, "pascalCase", {
114
- enumerable: true,
115
- get: function () { return chunkFEAY5FTX_cjs.pascalCase; }
116
- });
117
- Object.defineProperty(exports, "pathCase", {
118
- enumerable: true,
119
- get: function () { return chunkFEAY5FTX_cjs.pathCase; }
120
- });
121
- exports.combineCodes = combineCodes;
122
- exports.createIndent = createIndent;
123
- exports.createJSDocBlockText = createJSDocBlockText;
124
- exports.default = transformers_default;
125
- exports.escape = escape;
126
- exports.jsStringEscape = jsStringEscape;
127
- exports.nameSorter = nameSorter;
128
- //# sourceMappingURL=out.js.map
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+ exports.camelCase = _chunkAMVMOCJ4cjs.camelCase; exports.combineCodes = combineCodes; exports.createIndent = createIndent; exports.createJSDocBlockText = createJSDocBlockText; exports.default = transformers_default; exports.escape = escape; exports.jsStringEscape = jsStringEscape; exports.nameSorter = nameSorter; exports.pascalCase = _chunkAMVMOCJ4cjs.pascalCase; exports.pathCase = _chunkAMVMOCJ4cjs.pathCase; exports.searchAndReplace = _chunkJWYPCGK5cjs.searchAndReplace; exports.transformReservedWord = _chunkJWYPCGK5cjs.transformReservedWord; exports.trim = _chunkJWYPCGK5cjs.trim; exports.trimExtName = _chunkJWYPCGK5cjs.trimExtName;
129
115
  //# sourceMappingURL=transformers.cjs.map
@@ -1,8 +1,17 @@
1
- import { transformReservedWord, searchAndReplace, trim, trimExtName } from './chunk-5TWA5OHW.js';
2
- export { searchAndReplace, transformReservedWord, trim, trimExtName } from './chunk-5TWA5OHW.js';
3
- import { camelCase, pascalCase, pathCase } from './chunk-QUL3TACU.js';
4
- export { camelCase, pascalCase, pathCase } from './chunk-QUL3TACU.js';
5
- import { init_esm_shims } from './chunk-DZ63TRO3.js';
1
+ import {
2
+ searchAndReplace,
3
+ transformReservedWord,
4
+ trim,
5
+ trimExtName
6
+ } from "./chunk-YNFGR7GL.js";
7
+ import {
8
+ camelCase,
9
+ pascalCase,
10
+ pathCase
11
+ } from "./chunk-DUZFWQUE.js";
12
+ import {
13
+ init_esm_shims
14
+ } from "./chunk-6453B5D6.js";
6
15
 
7
16
  // src/transformers/index.ts
8
17
  init_esm_shims();
@@ -87,7 +96,20 @@ var transformers_default = {
87
96
  pascalCase,
88
97
  pathCase
89
98
  };
90
-
91
- export { combineCodes, createIndent, createJSDocBlockText, transformers_default as default, escape, jsStringEscape, nameSorter };
92
- //# sourceMappingURL=out.js.map
99
+ export {
100
+ camelCase,
101
+ combineCodes,
102
+ createIndent,
103
+ createJSDocBlockText,
104
+ transformers_default as default,
105
+ escape,
106
+ jsStringEscape,
107
+ nameSorter,
108
+ pascalCase,
109
+ pathCase,
110
+ searchAndReplace,
111
+ transformReservedWord,
112
+ trim,
113
+ trimExtName
114
+ };
93
115
  //# sourceMappingURL=transformers.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/transformers/index.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;ACAA;AAAO,SAAS,aAAa,OAAyB;AACpD,SAAO,MAAM,KAAK,IAAI;AACxB;;;ACFA;AAAO,SAAS,qBAAqB,EAAE,SAAS,GAAwC;AACtF,QAAM,mBAAmB,SAAS,OAAO,OAAO;AAEhD,MAAI,CAAC,iBAAiB,QAAQ;AAC5B,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,KAAW,iBAAiB,KAAK,OAAO,CAAC;AAAA;AAClD;;;ACRA;AAAO,SAAS,OAAO,MAAuB;AAC5C,SAAO,OAAO,KAAK,WAAW,KAAK,KAAK,IAAI;AAC9C;AAQO,SAAS,eAAe,OAAoB;AACjD,SAAO,GAAG,KAAK,GAAG,QAAQ,2BAA2B,CAAC,cAAc;AAClE,YAAQ,WAAW;AAAA,MACjB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,OAAO;AAAA,MAEhB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,CAAC;AACH;;;AC9BA;AAAO,SAAS,aAAa,MAAsB;AACjD,SAAO,MAAM,KAAK,EAAE,QAAQ,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG;AAClD;;;ACFA;AAAO,SAAS,WAAuC,GAAM,GAAkB;AAC7E,MAAI,EAAE,OAAO,EAAE,MAAM;AACnB,WAAO;AAAA,EACT;AACA,MAAI,EAAE,OAAO,EAAE,MAAM;AACnB,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ALYA,IAAO,uBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF","sourcesContent":["import { camelCase, pascalCase, pathCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimExtName } from './trim.ts'\n\nexport { camelCase, pascalCase, pathCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimExtName } from './trim.ts'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n nameSorter,\n searchAndReplace,\n trim,\n trimExtName,\n JSDoc: {\n createJSDocBlockText,\n },\n camelCase,\n pascalCase,\n pathCase,\n} as const\n","export function combineCodes(codes: string[]): string {\n return codes.join('\\n')\n}\n","export function createJSDocBlockText({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","export function escape(text?: string): string {\n return text ? text.replaceAll('`', '\\\\`') : ''\n}\n\n/**\n * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on\n * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4\n * @link https://github.com/joliss/js-string-escape/blob/master/index.js\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function jsStringEscape(input: any): string {\n return `${input}`.replace(/[\"'\\\\\\n\\r\\u2028\\u2029]/g, (character) => {\n switch (character) {\n case '\"':\n case \"'\":\n case '\\\\':\n return '\\\\' + character\n // Four possible LineTerminator characters need to be escaped:\n case '\\n':\n return '\\\\n'\n case '\\r':\n return '\\\\r'\n case '\\u2028':\n return '\\\\u2028'\n case '\\u2029':\n return '\\\\u2029'\n default:\n return ''\n }\n })\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n"]}
1
+ {"version":3,"sources":["../src/transformers/index.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts"],"sourcesContent":["import { camelCase, pascalCase, pathCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimExtName } from './trim.ts'\n\nexport { camelCase, pascalCase, pathCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimExtName } from './trim.ts'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n nameSorter,\n searchAndReplace,\n trim,\n trimExtName,\n JSDoc: {\n createJSDocBlockText,\n },\n camelCase,\n pascalCase,\n pathCase,\n} as const\n","export function combineCodes(codes: string[]): string {\n return codes.join('\\n')\n}\n","export function createJSDocBlockText({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","export function escape(text?: string): string {\n return text ? text.replaceAll('`', '\\\\`') : ''\n}\n\n/**\n * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on\n * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4\n * @link https://github.com/joliss/js-string-escape/blob/master/index.js\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function jsStringEscape(input: any): string {\n return `${input}`.replace(/[\"'\\\\\\n\\r\\u2028\\u2029]/g, (character) => {\n switch (character) {\n case '\"':\n case \"'\":\n case '\\\\':\n return '\\\\' + character\n // Four possible LineTerminator characters need to be escaped:\n case '\\n':\n return '\\\\n'\n case '\\r':\n return '\\\\r'\n case '\\u2028':\n return '\\\\u2028'\n case '\\u2029':\n return '\\\\u2029'\n default:\n return ''\n }\n })\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;ACAA;AAAO,SAAS,aAAa,OAAyB;AACpD,SAAO,MAAM,KAAK,IAAI;AACxB;;;ACFA;AAAO,SAAS,qBAAqB,EAAE,SAAS,GAAwC;AACtF,QAAM,mBAAmB,SAAS,OAAO,OAAO;AAEhD,MAAI,CAAC,iBAAiB,QAAQ;AAC5B,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,KAAW,iBAAiB,KAAK,OAAO,CAAC;AAAA;AAClD;;;ACRA;AAAO,SAAS,OAAO,MAAuB;AAC5C,SAAO,OAAO,KAAK,WAAW,KAAK,KAAK,IAAI;AAC9C;AAQO,SAAS,eAAe,OAAoB;AACjD,SAAO,GAAG,KAAK,GAAG,QAAQ,2BAA2B,CAAC,cAAc;AAClE,YAAQ,WAAW;AAAA,MACjB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,OAAO;AAAA,MAEhB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,CAAC;AACH;;;AC9BA;AAAO,SAAS,aAAa,MAAsB;AACjD,SAAO,MAAM,KAAK,EAAE,QAAQ,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG;AAClD;;;ACFA;AAAO,SAAS,WAAuC,GAAM,GAAkB;AAC7E,MAAI,EAAE,OAAO,EAAE,MAAM;AACnB,WAAO;AAAA,EACT;AACA,MAAI,EAAE,OAAO,EAAE,MAAM;AACnB,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ALYA,IAAO,uBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
package/dist/utils.cjs CHANGED
@@ -1,16 +1,23 @@
1
- 'use strict';
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var chunkB3FP7HMI_cjs = require('./chunk-B3FP7HMI.cjs');
4
- var chunkCPVVYFYJ_cjs = require('./chunk-CPVVYFYJ.cjs');
5
- var chunkFEAY5FTX_cjs = require('./chunk-FEAY5FTX.cjs');
6
- var chunkNGM34FB2_cjs = require('./chunk-NGM34FB2.cjs');
7
- var naturalOrderby = require('natural-orderby');
3
+ var _chunkM5H5RXTYcjs = require('./chunk-M5H5RXTY.cjs');
4
+
5
+
6
+
7
+ var _chunkWCUXF325cjs = require('./chunk-WCUXF325.cjs');
8
+
9
+
10
+ var _chunkAMVMOCJ4cjs = require('./chunk-AMVMOCJ4.cjs');
11
+
12
+
13
+ var _chunk2JNTDAI2cjs = require('./chunk-2JNTDAI2.cjs');
8
14
 
9
15
  // src/utils/index.ts
10
- chunkNGM34FB2_cjs.init_cjs_shims();
16
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
11
17
 
12
18
  // src/utils/FunctionParams.ts
13
- chunkNGM34FB2_cjs.init_cjs_shims();
19
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
20
+ var _naturalorderby = require('natural-orderby');
14
21
  var FunctionParams = class {
15
22
  constructor(type) {
16
23
  this.items = [];
@@ -29,13 +36,13 @@ var FunctionParams = class {
29
36
  return this;
30
37
  }
31
38
  toString() {
32
- const sortedData = naturalOrderby.orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ["desc", "desc"]);
39
+ const sortedData = _naturalorderby.orderBy.call(void 0, this.items.filter(Boolean), [(v) => !v.default, (v) => _nullishCoalesce(v.required, () => ( true))], ["desc", "desc"]);
33
40
  return sortedData.filter(({ enabled = true }) => enabled).reduce((acc, { name, type, required = true, ...rest }) => {
34
41
  if (!name) {
35
42
  acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
36
43
  return acc;
37
44
  }
38
- const parameterName = name.startsWith("{") ? name : chunkFEAY5FTX_cjs.camelCase(name);
45
+ const parameterName = name.startsWith("{") ? name : _chunkAMVMOCJ4cjs.camelCase.call(void 0, name);
39
46
  if (type) {
40
47
  if (required) {
41
48
  acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
@@ -51,9 +58,9 @@ var FunctionParams = class {
51
58
  };
52
59
 
53
60
  // src/utils/promise.ts
54
- chunkNGM34FB2_cjs.init_cjs_shims();
61
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
55
62
  function isPromise(result) {
56
- return !!result && typeof result?.then === "function";
63
+ return !!result && typeof _optionalChain([result, 'optionalAccess', _ => _.then]) === "function";
57
64
  }
58
65
  function isPromiseFulfilledResult(result) {
59
66
  return result.status === "fulfilled";
@@ -63,14 +70,14 @@ function isPromiseRejectedResult(result) {
63
70
  }
64
71
 
65
72
  // src/utils/renderTemplate.ts
66
- chunkNGM34FB2_cjs.init_cjs_shims();
73
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
67
74
  function renderTemplate(template, data = void 0) {
68
75
  if (!data || !Object.keys(data).length) {
69
76
  return template.replace(/{{(.*?)}}/g, "");
70
77
  }
71
78
  const matches = template.match(/{{(.*?)}}/g);
72
- return matches?.reduce((prev, curr) => {
73
- const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim();
79
+ return _optionalChain([matches, 'optionalAccess', _2 => _2.reduce, 'call', _3 => _3((prev, curr) => {
80
+ const index = _optionalChain([curr, 'access', _4 => _4.split, 'call', _5 => _5(/{{|}}/), 'access', _6 => _6.filter, 'call', _7 => _7(Boolean), 'access', _8 => _8[0], 'optionalAccess', _9 => _9.trim, 'call', _10 => _10()]);
74
81
  if (index === void 0) {
75
82
  return prev;
76
83
  }
@@ -84,11 +91,11 @@ function renderTemplate(template, data = void 0) {
84
91
  }
85
92
  return value || "";
86
93
  }).trim();
87
- }, template) || "";
94
+ }, template)]) || "";
88
95
  }
89
96
 
90
97
  // src/utils/timeout.ts
91
- chunkNGM34FB2_cjs.init_cjs_shims();
98
+ _chunk2JNTDAI2cjs.init_cjs_shims.call(void 0, );
92
99
  async function timeout(ms) {
93
100
  return new Promise((resolve) => {
94
101
  setTimeout(() => {
@@ -97,23 +104,14 @@ async function timeout(ms) {
97
104
  });
98
105
  }
99
106
 
100
- Object.defineProperty(exports, "URLPath", {
101
- enumerable: true,
102
- get: function () { return chunkB3FP7HMI_cjs.URLPath; }
103
- });
104
- Object.defineProperty(exports, "getUniqueName", {
105
- enumerable: true,
106
- get: function () { return chunkCPVVYFYJ_cjs.getUniqueName; }
107
- });
108
- Object.defineProperty(exports, "setUniqueName", {
109
- enumerable: true,
110
- get: function () { return chunkCPVVYFYJ_cjs.setUniqueName; }
111
- });
112
- exports.FunctionParams = FunctionParams;
113
- exports.isPromise = isPromise;
114
- exports.isPromiseFulfilledResult = isPromiseFulfilledResult;
115
- exports.isPromiseRejectedResult = isPromiseRejectedResult;
116
- exports.renderTemplate = renderTemplate;
117
- exports.timeout = timeout;
118
- //# sourceMappingURL=out.js.map
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ exports.FunctionParams = FunctionParams; exports.URLPath = _chunkM5H5RXTYcjs.URLPath; exports.getUniqueName = _chunkWCUXF325cjs.getUniqueName; exports.isPromise = isPromise; exports.isPromiseFulfilledResult = isPromiseFulfilledResult; exports.isPromiseRejectedResult = isPromiseRejectedResult; exports.renderTemplate = renderTemplate; exports.setUniqueName = _chunkWCUXF325cjs.setUniqueName; exports.timeout = timeout;
119
117
  //# sourceMappingURL=utils.cjs.map
package/dist/utils.js CHANGED
@@ -1,14 +1,23 @@
1
- export { URLPath } from './chunk-MCUCYURB.js';
2
- export { getUniqueName, setUniqueName } from './chunk-7QEHTZ4T.js';
3
- import { camelCase } from './chunk-QUL3TACU.js';
4
- import { init_esm_shims } from './chunk-DZ63TRO3.js';
5
- import { orderBy } from 'natural-orderby';
1
+ import {
2
+ URLPath
3
+ } from "./chunk-VCS7BATE.js";
4
+ import {
5
+ getUniqueName,
6
+ setUniqueName
7
+ } from "./chunk-QDUQWRFO.js";
8
+ import {
9
+ camelCase
10
+ } from "./chunk-DUZFWQUE.js";
11
+ import {
12
+ init_esm_shims
13
+ } from "./chunk-6453B5D6.js";
6
14
 
7
15
  // src/utils/index.ts
8
16
  init_esm_shims();
9
17
 
10
18
  // src/utils/FunctionParams.ts
11
19
  init_esm_shims();
20
+ import { orderBy } from "natural-orderby";
12
21
  var FunctionParams = class {
13
22
  constructor(type) {
14
23
  this.items = [];
@@ -94,7 +103,15 @@ async function timeout(ms) {
94
103
  }, ms);
95
104
  });
96
105
  }
97
-
98
- export { FunctionParams, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, timeout };
99
- //# sourceMappingURL=out.js.map
106
+ export {
107
+ FunctionParams,
108
+ URLPath,
109
+ getUniqueName,
110
+ isPromise,
111
+ isPromiseFulfilledResult,
112
+ isPromiseRejectedResult,
113
+ renderTemplate,
114
+ setUniqueName,
115
+ timeout
116
+ };
100
117
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;ACAA;AAAA,SAAS,eAAe;AAiCjB,IAAM,iBAAN,MAAqB;AAAA,EAG1B,YAAY,MAA6B;AADzC,SAAO,QAA6B,CAAC;AAEnC,SAAK,OAAO;AAEZ,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAA4F;AAC9F,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAK,OAAO,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,MAAM,KAAK,EAAE,CAAC;AACxD,aAAO;AAAA,IACT;AACA,SAAK,MAAM,KAAK,IAAI;AAEpB,WAAO;AAAA,EACT;AAAA,EAEA,WAAmB;AACjB,UAAM,aAAa,QAAQ,KAAK,MAAM,OAAO,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEvH,WAAO,WACJ,OAAO,CAAC,EAAE,UAAU,KAAK,MAAM,OAAO,EACtC,OAAO,CAAC,KAAK,EAAE,MAAM,MAAM,WAAW,MAAM,GAAG,KAAK,MAAM;AACzD,UAAI,CAAC,MAAM;AAET,YAAI,KAAK,GAAG,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAE7D,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,KAAK,WAAW,GAAG,IAAI,OAAO,UAAU,IAAI;AAElE,UAAI,MAAM;AACR,YAAI,UAAU;AACZ,cAAI,KAAK,GAAG,aAAa,KAAK,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAAA,QACjF,OAAO;AACL,cAAI,KAAK,GAAG,aAAa,MAAM,IAAI,EAAE;AAAA,QACvC;AAAA,MACF,OAAO;AACL,YAAI,KAAK,GAAG,aAAa,EAAE;AAAA,MAC7B;AAEA,aAAO;AAAA,IACT,GAAG,CAAC,CAAa,EAChB,KAAK,IAAI;AAAA,EACd;AACF;;;ACrFA;AAEO,SAAS,UAAa,QAAkD;AAC7E,SAAO,CAAC,CAAC,UAAU,OAAQ,QAA6B,SAAS;AACnE;AAEO,SAAS,yBAAsC,QAA4E;AAChI,SAAO,OAAO,WAAW;AAC3B;AAEO,SAAS,wBAA2B,QAAwG;AACjJ,SAAO,OAAO,WAAW;AAC3B;;;ACZA;AAAO,SAAS,eAAgF,UAAkB,OAA0B,QAAmB;AAC7J,MAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,QAAQ;AACtC,WAAO,SAAS,QAAQ,cAAc,EAAE;AAAA,EAC1C;AAEA,QAAM,UAAU,SAAS,MAAM,YAAY;AAE3C,SACE,SAAS,OAAO,CAAC,MAAM,SAAS;AAC9B,UAAM,QAAQ,KAAK,MAAM,OAAO,EAAE,OAAO,OAAO,EAAE,CAAC,GAAG,KAAK;AAC3D,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,KAAK,KAAK;AAExB,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAEA,WAAO,KACJ,QAAQ,MAAM,MAAM;AACnB,UAAI,OAAO,UAAU,WAAW;AAC9B,eAAO,GAAG,MAAM,SAAS,CAAC,MAAM;AAAA,MAClC;AAEA,aAAQ,SAAoB;AAAA,IAC9B,CAAC,EACA,KAAK;AAAA,EACV,GAAG,QAAQ,KAAK;AAEpB;;;AC9BA;AAAA,eAAsB,QAAQ,IAA8B;AAC1D,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,MAAM;AACf,cAAQ,IAAI;AAAA,IACd,GAAG,EAAE;AAAA,EACP,CAAC;AACH","sourcesContent":["export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport { isPromise, isPromiseFulfilledResult, isPromiseRejectedResult } from './promise.ts'\nexport { renderTemplate } from './renderTemplate.ts'\nexport { timeout } from './timeout.ts'\nexport { getUniqueName, setUniqueName } from './uniqueName.ts'\nexport type { URLObject } from './URLPath.ts'\nexport { URLPath } from './URLPath.ts'\n","import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\nexport class FunctionParams {\n public type?: 'generics' | 'typed'\n public items: FunctionParamsAST[] = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\n return this\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.items.push(it))\n return this\n }\n this.items.push(item)\n\n return this\n }\n\n toString(): string {\n const sortedData = orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ['desc', 'desc'])\n\n return sortedData\n .filter(({ enabled = true }) => enabled)\n .reduce((acc, { name, type, required = true, ...rest }) => {\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }, [] as string[])\n .join(', ')\n }\n}\n","import type { PossiblePromise } from '@kubb/types'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n"]}
1
+ {"version":3,"sources":["../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"sourcesContent":["export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport { isPromise, isPromiseFulfilledResult, isPromiseRejectedResult } from './promise.ts'\nexport { renderTemplate } from './renderTemplate.ts'\nexport { timeout } from './timeout.ts'\nexport { getUniqueName, setUniqueName } from './uniqueName.ts'\nexport type { URLObject } from './URLPath.ts'\nexport { URLPath } from './URLPath.ts'\n","import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\nexport class FunctionParams {\n public type?: 'generics' | 'typed'\n public items: FunctionParamsAST[] = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\n return this\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.items.push(it))\n return this\n }\n this.items.push(item)\n\n return this\n }\n\n toString(): string {\n const sortedData = orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ['desc', 'desc'])\n\n return sortedData\n .filter(({ enabled = true }) => enabled)\n .reduce((acc, { name, type, required = true, ...rest }) => {\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }, [] as string[])\n .join(', ')\n }\n}\n","import type { PossiblePromise } from '@kubb/types'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;;ACAA;AAAA,SAAS,eAAe;AAiCjB,IAAM,iBAAN,MAAqB;AAAA,EAG1B,YAAY,MAA6B;AADzC,SAAO,QAA6B,CAAC;AAEnC,SAAK,OAAO;AAEZ,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAA4F;AAC9F,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAK,OAAO,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,MAAM,KAAK,EAAE,CAAC;AACxD,aAAO;AAAA,IACT;AACA,SAAK,MAAM,KAAK,IAAI;AAEpB,WAAO;AAAA,EACT;AAAA,EAEA,WAAmB;AACjB,UAAM,aAAa,QAAQ,KAAK,MAAM,OAAO,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEvH,WAAO,WACJ,OAAO,CAAC,EAAE,UAAU,KAAK,MAAM,OAAO,EACtC,OAAO,CAAC,KAAK,EAAE,MAAM,MAAM,WAAW,MAAM,GAAG,KAAK,MAAM;AACzD,UAAI,CAAC,MAAM;AAET,YAAI,KAAK,GAAG,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAE7D,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,KAAK,WAAW,GAAG,IAAI,OAAO,UAAU,IAAI;AAElE,UAAI,MAAM;AACR,YAAI,UAAU;AACZ,cAAI,KAAK,GAAG,aAAa,KAAK,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAAA,QACjF,OAAO;AACL,cAAI,KAAK,GAAG,aAAa,MAAM,IAAI,EAAE;AAAA,QACvC;AAAA,MACF,OAAO;AACL,YAAI,KAAK,GAAG,aAAa,EAAE;AAAA,MAC7B;AAEA,aAAO;AAAA,IACT,GAAG,CAAC,CAAa,EAChB,KAAK,IAAI;AAAA,EACd;AACF;;;ACrFA;AAEO,SAAS,UAAa,QAAkD;AAC7E,SAAO,CAAC,CAAC,UAAU,OAAQ,QAA6B,SAAS;AACnE;AAEO,SAAS,yBAAsC,QAA4E;AAChI,SAAO,OAAO,WAAW;AAC3B;AAEO,SAAS,wBAA2B,QAAwG;AACjJ,SAAO,OAAO,WAAW;AAC3B;;;ACZA;AAAO,SAAS,eAAgF,UAAkB,OAA0B,QAAmB;AAC7J,MAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,QAAQ;AACtC,WAAO,SAAS,QAAQ,cAAc,EAAE;AAAA,EAC1C;AAEA,QAAM,UAAU,SAAS,MAAM,YAAY;AAE3C,SACE,SAAS,OAAO,CAAC,MAAM,SAAS;AAC9B,UAAM,QAAQ,KAAK,MAAM,OAAO,EAAE,OAAO,OAAO,EAAE,CAAC,GAAG,KAAK;AAC3D,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,KAAK,KAAK;AAExB,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAEA,WAAO,KACJ,QAAQ,MAAM,MAAM;AACnB,UAAI,OAAO,UAAU,WAAW;AAC9B,eAAO,GAAG,MAAM,SAAS,CAAC,MAAM;AAAA,MAClC;AAEA,aAAQ,SAAoB;AAAA,IAC9B,CAAC,EACA,KAAK;AAAA,EACV,GAAG,QAAQ,KAAK;AAEpB;;;AC9BA;AAAA,eAAsB,QAAQ,IAA8B;AAC1D,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,MAAM;AACf,cAAQ,IAAI;AAAA,IACd,GAAG,EAAE;AAAA,EACP,CAAC;AACH;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/core",
3
- "version": "2.6.6",
3
+ "version": "2.7.0",
4
4
  "description": "Generator core",
5
5
  "keywords": [
6
6
  "typescript",
@@ -95,13 +95,13 @@
95
95
  "p-queue": "^8.0.1",
96
96
  "seedrandom": "^3.0.5",
97
97
  "semver": "^7.6.0",
98
- "@kubb/parser": "2.6.6",
99
- "@kubb/types": "2.6.6"
98
+ "@kubb/parser": "2.7.0",
99
+ "@kubb/types": "2.7.0"
100
100
  },
101
101
  "devDependencies": {
102
102
  "@types/fs-extra": "^11.0.4",
103
103
  "@types/lodash.isequal": "^4.5.8",
104
- "@types/react": "^18.2.61",
104
+ "@types/react": "^18.2.62",
105
105
  "@types/seedrandom": "^3.0.8",
106
106
  "@types/semver": "^7.5.8",
107
107
  "eslint": "^8.57.0",
@@ -145,6 +145,10 @@ export namespace KubbFile {
145
145
  * This will override `process.env[key]` inside the `source`, see `getFileSource`.
146
146
  */
147
147
  env?: NodeJS.ProcessEnv
148
+ /**
149
+ * The name of the language being used. This can be TypeScript, JavaScript and still have another ext.
150
+ */
151
+ language?: string
148
152
  }
149
153
 
150
154
  export type ResolvedFile<
@@ -390,7 +394,7 @@ export class FileManager {
390
394
  return ['.js', '.ts', '.tsx']
391
395
  }
392
396
 
393
- static isExtensionAllowed(baseName: string): boolean {
397
+ static isJavascript(baseName: string): boolean {
394
398
  return FileManager.extensions.some((extension) => baseName.endsWith(extension))
395
399
  }
396
400
  }
@@ -431,12 +435,15 @@ function combineFiles<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBas
431
435
  }
432
436
 
433
437
  export function getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBase>(file: KubbFile.File<TMeta>): string {
434
- if (!FileManager.isExtensionAllowed(file.baseName)) {
438
+ // only use .js, .ts or .tsx files for ESM imports
439
+
440
+ if (file.language ? !['typescript', 'javascript'].includes(file.language) : !FileManager.isJavascript(file.baseName)) {
435
441
  return file.source
436
442
  }
437
443
 
438
444
  const exports = file.exports ? combineExports(file.exports) : []
439
- const imports = file.imports ? combineImports(file.imports, exports, file.source) : []
445
+ // imports should be defined and source should contain code or we have imports without them being used
446
+ const imports = file.imports && file.source ? combineImports(file.imports, exports, file.source) : []
440
447
 
441
448
  const importNodes = imports.filter(item => {
442
449
  // isImportNotNeeded
@@ -458,7 +465,10 @@ export function getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMet
458
465
  })
459
466
  )
460
467
 
461
- return [print([...importNodes, ...exportNodes]), getEnvSource(file.source, file.env)].join('\n')
468
+ const source = [print([...importNodes, ...exportNodes]), getEnvSource(file.source, file.env)].join('\n')
469
+
470
+ // do some basic linting with the ts compiler
471
+ return print([], { source, noEmitHelpers: false })
462
472
  }
463
473
 
464
474
  export function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {
package/src/index.ts CHANGED
@@ -8,7 +8,7 @@ export { PackageManager } from './PackageManager.ts'
8
8
  export { createPlugin, pluginName as name, pluginName } from './plugin.ts'
9
9
  export { PluginManager } from './PluginManager.ts'
10
10
  export { PromiseManager } from './PromiseManager.ts'
11
- export type { CLIOptions, Config, Plugin, PluginFactoryOptions, ResolveNameParams, ResolvePathParams, UserConfig } from './types.ts'
11
+ export type * from './types.ts'
12
12
 
13
13
  export interface _Register {}
14
14
 
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkJQBPOWRF_cjs = require('./chunk-JQBPOWRF.cjs');
4
- var chunkNGM34FB2_cjs = require('./chunk-NGM34FB2.cjs');
5
-
6
- // src/fs/clean.ts
7
- chunkNGM34FB2_cjs.init_cjs_shims();
8
- var import_fs_extra = chunkNGM34FB2_cjs.__toESM(chunkJQBPOWRF_cjs.require_lib(), 1);
9
- async function clean(path) {
10
- return import_fs_extra.default.remove(path);
11
- }
12
-
13
- exports.clean = clean;
14
- //# sourceMappingURL=out.js.map
15
- //# sourceMappingURL=chunk-33K7PH2K.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/uniqueName.ts"],"names":[],"mappings":";;;;;AAAA;AAAO,SAAS,cAAc,cAAsB,MAAsC;AACxF,MAAI,OAAO,KAAK,YAAY,KAAK;AACjC,MAAI,MAAM;AACR,SAAK,YAAY,IAAI,EAAE;AACvB,oBAAgB;AAAA,EAClB;AACA,OAAK,YAAY,IAAI;AACrB,SAAO;AACT;AAEO,SAAS,cAAc,cAAsB,MAAsC;AACxF,MAAI,OAAO,KAAK,YAAY,KAAK;AACjC,MAAI,MAAM;AACR,SAAK,YAAY,IAAI,EAAE;AAEvB,WAAO;AAAA,EACT;AACA,OAAK,YAAY,IAAI;AACrB,SAAO;AACT","sourcesContent":["export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/fs/read.ts"],"names":[],"mappings":";;;;;AAAA;AAAA,SAAS,UAAU,SAAS,gBAAgB;AAE5C,OAAO,QAAQ;AACf,SAAS,gBAAgB;AAEzB,SAAS,MAAM,MAAc,WAAwC,SAAS;AAC5E,QAAM,gBAAgB,YAAY,KAAK,IAAI;AAE3C,MAAI,CAAC,SAAS,KAAK,EAAE,SAAS,QAAQ,KAAK,CAAC,eAAe;AAEzD,WAAO,KAAK,WAAW,OAAO,GAAG,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ;AAAA,EAChE;AAGA,SAAO,KAAK,WAAW,OAAO,GAAG,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ;AAChE;AAEO,SAAS,gBAAgB,SAAyB,UAA0B,WAAwC,SAAiB;AAC1I,MAAI,CAAC,WAAW,CAAC,UAAU;AACzB,UAAM,IAAI,MAAM,uEAAuE,WAAW,EAAE,IAAI,YAAY,EAAE,EAAE;AAAA,EAC1H;AAEA,QAAM,eAAe,SAAS,SAAS,QAAQ;AAI/C,QAAM,cAAc,MAAM,cAAc,QAAQ;AAEhD,MAAI,YAAY,WAAW,KAAK,GAAG;AACjC,WAAO,YAAY,QAAQ,SAAS,WAAW,GAAG,SAAS,aAAa,QAAQ,QAAQ,CAAC,CAAC;AAAA,EAC5F;AAEA,SAAO,KAAK,YAAY,QAAQ,SAAS,WAAW,GAAG,SAAS,aAAa,QAAQ,QAAQ,CAAC,CAAC,CAAC;AAClG;AAEA,IAAM,SAAS;AAAA,EACb;AAAA,IACE,MAAM,OAAO,SAAiB;AAC5B,aAAO,GAAG,SAAS,MAAM,EAAE,UAAU,OAAO,CAAC;AAAA,IAC/C;AAAA,IACA,KAAK,OAAO,SAAiB;AAC3B,YAAM,OAAO,IAAI,KAAK,IAAI;AAE1B,aAAO,KAAK,KAAK;AAAA,IACnB;AAAA,EACF;AAAA,EACA;AACF;AAEA,IAAM,aAAa;AAAA,EACjB;AAAA,IACE,MAAM,CAAC,SAAiB;AACtB,aAAO,GAAG,aAAa,MAAM,EAAE,UAAU,OAAO,CAAC;AAAA,IACnD;AAAA,IACA,KAAK,MAAM;AACT,YAAM,IAAI,MAAM,sBAAsB;AAAA,IACxC;AAAA,EACF;AAAA,EACA;AACF;AAEA,eAAsB,KAAK,MAA+B;AACxD,SAAO,OAAO,IAAI;AACpB;AAEO,SAAS,SAAS,MAAsB;AAC7C,SAAO,WAAW,IAAI;AACxB","sourcesContent":["import { basename, extname, relative } from 'node:path'\n\nimport fs from 'fs-extra'\nimport { switcher } from 'js-runtime'\n\nfunction slash(path: string, platform: 'windows' | 'mac' | 'linux' = 'linux') {\n const isWindowsPath = /^\\\\\\\\\\?\\\\/.test(path)\n\n if (['linux', 'mac'].includes(platform) && !isWindowsPath) {\n // linux and mac\n return path.replaceAll(/\\\\/g, '/').replace('../', '').trimEnd()\n }\n\n // windows\n return path.replaceAll(/\\\\/g, '/').replace('../', '').trimEnd()\n}\n\nexport function getRelativePath(rootDir?: string | null, filePath?: string | null, platform: 'windows' | 'mac' | 'linux' = 'linux'): string {\n if (!rootDir || !filePath) {\n throw new Error(`Root and file should be filled in when retrieving the relativePath, ${rootDir || ''} ${filePath || ''}`)\n }\n\n const relativePath = relative(rootDir, filePath)\n\n // On Windows, paths are separated with a \"\\\"\n // However, web browsers use \"/\" no matter the platform\n const slashedPath = slash(relativePath, platform)\n\n if (slashedPath.startsWith('../')) {\n return slashedPath.replace(basename(slashedPath), basename(slashedPath, extname(filePath)))\n }\n\n return `./${slashedPath.replace(basename(slashedPath), basename(slashedPath, extname(filePath)))}`\n}\n\nconst reader = switcher(\n {\n node: async (path: string) => {\n return fs.readFile(path, { encoding: 'utf8' })\n },\n bun: async (path: string) => {\n const file = Bun.file(path)\n\n return file.text()\n },\n },\n 'node',\n)\n\nconst syncReader = switcher(\n {\n node: (path: string) => {\n return fs.readFileSync(path, { encoding: 'utf8' })\n },\n bun: () => {\n throw new Error('Bun cannot read sync')\n },\n },\n 'node',\n)\n\nexport async function read(path: string): Promise<string> {\n return reader(path)\n}\n\nexport function readSync(path: string): string {\n return syncReader(path)\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/transformers/searchAndReplace.ts","../src/transformers/trim.ts","../src/transformers/transformReservedWord.ts"],"names":[],"mappings":";;;;;AAAA;AAQO,SAAS,iBAAiB,SAA0B;AACzD,QAAM,EAAE,MAAM,WAAW,SAAS,IAAI,IAAI,IAAI;AAE9C,QAAM,eAAe,QAAQ,eAAe,QAAQ,GAAG,KAAK;AAAA,IAC1D,GAAG,MAAM,KAAK,GAAG;AAAA,IACjB,GAAG,MAAM,KAAK,GAAG;AAAA,IACjB,GAAG,MAAM,MAAM,GAAG;AAAA,IAClB,GAAG,MAAM,IAAI,GAAG;AAAA,IAChB,GAAG,MAAM,IAAI,GAAG;AAAA,IAChB,GAAG,MAAM,KAAK,GAAG;AAAA,IACjB,IAAI,OAAO,GAAG,MAAM,GAAG,GAAG,IAAI,GAAG;AAAA,EACnC;AAEA,SAAO,aAAa,OAAO,CAAC,MAAM,gBAAgB;AAChD,WAAO,KAAK,SAAS,EAAE,WAAW,aAAa,SAAS;AAAA,EAC1D,GAAG,IAAI;AACT;;;ACxBA;AAAO,SAAS,KAAK,MAAsB;AACzC,SAAO,KAAK,WAAW,OAAO,EAAE,EAAE,KAAK;AACzC;AAEO,SAAS,YAAY,MAAsB;AAChD,SAAO,KAAK,QAAQ,aAAa,EAAE;AACrC;;;ACNA;AAGA,IAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,sBAAsB,MAAsB;AAC1D,MAAK,QAAQ,cAAc,SAAS,IAAI,KAAM,MAAM,MAAM,KAAK,GAAG;AAChE,WAAO,IAAI,IAAI;AAAA,EACjB;AAEA,SAAO;AACT","sourcesContent":["type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimExtName(text: string): string {\n return text.replace(/\\.[^/.]+$/, '')\n}\n","/**\n * @link https://github.com/jonschlinkert/reserved/blob/master/index.js\n */\nconst reservedWords = [\n 'abstract',\n 'arguments',\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'eval',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'let',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n 'yield',\n\n 'Array',\n 'Date',\n 'eval',\n 'function',\n 'hasOwnProperty',\n 'Infinity',\n 'isFinite',\n 'isNaN',\n 'isPrototypeOf',\n 'length',\n 'Math',\n 'name',\n 'NaN',\n 'Number',\n 'Object',\n 'prototype',\n 'String',\n 'toString',\n 'undefined',\n 'valueOf',\n]\n\nexport function transformReservedWord(word: string): string {\n if ((word && reservedWords.includes(word)) || word?.match(/^\\d/)) {\n return `_${word}`\n }\n\n return word\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.0.2_@microsoft+api-extractor@7.42.2_ts-node@10.9.2_typescript@5.3.3/node_modules/tsup/assets/esm_shims.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url'\nimport path from 'path'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n"]}