@kubb/core 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (107) hide show
  1. package/README.md +13 -4
  2. package/dist/{FileManager-Bw-FNS3q.d.cts → FileManager-4lbobkix.d.cts} +124 -84
  3. package/dist/{FileManager-BW--rO8q.d.ts → FileManager-CdXrquQt.d.ts} +124 -84
  4. package/dist/chunk-2EU7DMPM.js +96 -0
  5. package/dist/chunk-2EU7DMPM.js.map +1 -0
  6. package/dist/{chunk-LM2YQC3T.cjs → chunk-3MDDPVXB.cjs} +81 -51
  7. package/dist/chunk-3MDDPVXB.cjs.map +1 -0
  8. package/dist/chunk-4X5FFJPJ.js +8 -13
  9. package/dist/chunk-4X5FFJPJ.js.map +1 -1
  10. package/dist/{chunk-67C6RBGQ.cjs → chunk-6NKPFDXC.cjs} +28 -29
  11. package/dist/chunk-6NKPFDXC.cjs.map +1 -0
  12. package/dist/chunk-CLTNHSMO.js +895 -0
  13. package/dist/chunk-CLTNHSMO.js.map +1 -0
  14. package/dist/{chunk-3OXCZ5DJ.js → chunk-E6CN2CZC.js} +63 -54
  15. package/dist/chunk-E6CN2CZC.js.map +1 -0
  16. package/dist/chunk-HBQM723K.js +1049 -0
  17. package/dist/chunk-HBQM723K.js.map +1 -0
  18. package/dist/chunk-MHOAMP5V.cjs +1537 -0
  19. package/dist/chunk-MHOAMP5V.cjs.map +1 -0
  20. package/dist/chunk-PWFXUBH6.cjs +101 -0
  21. package/dist/chunk-PWFXUBH6.cjs.map +1 -0
  22. package/dist/chunk-RSTRL2FG.cjs +42 -0
  23. package/dist/chunk-RSTRL2FG.cjs.map +1 -0
  24. package/dist/chunk-SWGRKRKB.cjs +1088 -0
  25. package/dist/chunk-SWGRKRKB.cjs.map +1 -0
  26. package/dist/index.cjs +551 -599
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.d.cts +7 -22
  29. package/dist/index.d.ts +7 -22
  30. package/dist/index.js +442 -512
  31. package/dist/index.js.map +1 -1
  32. package/dist/{logger-DChjnJMn.d.cts → logger-DvbHXjIO.d.cts} +29 -19
  33. package/dist/{logger-DChjnJMn.d.ts → logger-DvbHXjIO.d.ts} +29 -19
  34. package/dist/logger.cjs +25 -15
  35. package/dist/logger.cjs.map +1 -1
  36. package/dist/logger.d.cts +1 -2
  37. package/dist/logger.d.ts +1 -2
  38. package/dist/logger.js +3 -15
  39. package/dist/logger.js.map +1 -1
  40. package/dist/mocks.cjs +42 -31
  41. package/dist/mocks.cjs.map +1 -1
  42. package/dist/mocks.d.cts +7 -9
  43. package/dist/mocks.d.ts +7 -9
  44. package/dist/mocks.js +35 -33
  45. package/dist/mocks.js.map +1 -1
  46. package/dist/prompt-7BUJOOIL.cjs +760 -0
  47. package/dist/prompt-7BUJOOIL.cjs.map +1 -0
  48. package/dist/prompt-WQQUN22Z.js +749 -0
  49. package/dist/prompt-WQQUN22Z.js.map +1 -0
  50. package/dist/transformers.cjs +216 -49
  51. package/dist/transformers.cjs.map +1 -1
  52. package/dist/transformers.d.cts +1 -3
  53. package/dist/transformers.d.ts +1 -3
  54. package/dist/transformers.js +149 -35
  55. package/dist/transformers.js.map +1 -1
  56. package/dist/utils.cjs +65 -26
  57. package/dist/utils.cjs.map +1 -1
  58. package/dist/utils.d.cts +32 -3
  59. package/dist/utils.d.ts +32 -3
  60. package/dist/utils.js +3 -26
  61. package/dist/utils.js.map +1 -1
  62. package/package.json +11 -14
  63. package/src/BarrelManager.ts +95 -109
  64. package/src/{Generator.ts → BaseGenerator.ts} +1 -1
  65. package/src/FileManager.ts +190 -298
  66. package/src/PackageManager.ts +1 -1
  67. package/src/PluginManager.ts +149 -90
  68. package/src/PromiseManager.ts +1 -1
  69. package/src/__snapshots__/barrel.json +93 -0
  70. package/src/__snapshots__/grouped.json +120 -0
  71. package/src/__snapshots__/ordered.json +68 -0
  72. package/src/build.ts +87 -122
  73. package/src/config.ts +2 -4
  74. package/src/errors.ts +0 -11
  75. package/src/index.ts +2 -3
  76. package/src/logger.ts +76 -34
  77. package/src/plugin.ts +2 -5
  78. package/src/transformers/escape.ts +0 -10
  79. package/src/transformers/index.ts +2 -3
  80. package/src/transformers/trim.ts +0 -4
  81. package/src/types.ts +48 -17
  82. package/src/utils/TreeNode.ts +132 -50
  83. package/src/utils/executeStrategies.ts +3 -3
  84. package/src/utils/index.ts +2 -1
  85. package/src/utils/parser.ts +166 -0
  86. package/dist/chunk-3OXCZ5DJ.js.map +0 -1
  87. package/dist/chunk-5JZNFPUP.js +0 -309
  88. package/dist/chunk-5JZNFPUP.js.map +0 -1
  89. package/dist/chunk-67C6RBGQ.cjs.map +0 -1
  90. package/dist/chunk-ADC5UNZ5.cjs +0 -1227
  91. package/dist/chunk-ADC5UNZ5.cjs.map +0 -1
  92. package/dist/chunk-HMLY7DHA.js +0 -16
  93. package/dist/chunk-HMLY7DHA.js.map +0 -1
  94. package/dist/chunk-JKZG2IJR.js +0 -283
  95. package/dist/chunk-JKZG2IJR.js.map +0 -1
  96. package/dist/chunk-LM2YQC3T.cjs.map +0 -1
  97. package/dist/chunk-PZT4CTBV.cjs +0 -299
  98. package/dist/chunk-PZT4CTBV.cjs.map +0 -1
  99. package/dist/chunk-SA2GZKXS.js +0 -596
  100. package/dist/chunk-SA2GZKXS.js.map +0 -1
  101. package/dist/chunk-XCPFG6DO.cjs +0 -66
  102. package/dist/chunk-XCPFG6DO.cjs.map +0 -1
  103. package/dist/chunk-YTSNYMHW.cjs +0 -320
  104. package/dist/chunk-YTSNYMHW.cjs.map +0 -1
  105. package/schema.json +0 -86
  106. package/src/utils/cache.ts +0 -35
  107. package/src/utils/getParser.ts +0 -17
@@ -1,50 +1,164 @@
1
- import {
1
+ import { transformReservedWord } from './chunk-2EU7DMPM.js';
2
+ export { transformReservedWord } from './chunk-2EU7DMPM.js';
3
+ import { orderBy, camelCase, pascalCase, pathCase } from './chunk-4X5FFJPJ.js';
4
+ export { camelCase, orderBy, pascalCase, pathCase } from './chunk-4X5FFJPJ.js';
5
+ import { merge } from 'remeda';
6
+ export { merge } from 'remeda';
7
+
8
+ // src/transformers/combineCodes.ts
9
+ function combineCodes(codes) {
10
+ return codes.join("\n");
11
+ }
12
+
13
+ // src/transformers/createJSDocBlockText.ts
14
+ function createJSDocBlockText({ comments }) {
15
+ const filteredComments = comments.filter(Boolean);
16
+ if (!filteredComments.length) {
17
+ return "";
18
+ }
19
+ return `/**
20
+ * ${filteredComments.join("\n * ")}
21
+ */`;
22
+ }
23
+
24
+ // src/transformers/escape.ts
25
+ function escape(text) {
26
+ return text ? text.replaceAll("`", "\\`") : "";
27
+ }
28
+ function jsStringEscape(input) {
29
+ return `${input}`.replace(/["'\\\n\r\u2028\u2029]/g, (character) => {
30
+ switch (character) {
31
+ case '"':
32
+ case "'":
33
+ case "\\":
34
+ return `\\${character}`;
35
+ // Four possible LineTerminator characters need to be escaped:
36
+ case "\n":
37
+ return "\\n";
38
+ case "\r":
39
+ return "\\r";
40
+ case "\u2028":
41
+ return "\\u2028";
42
+ case "\u2029":
43
+ return "\\u2029";
44
+ default:
45
+ return "";
46
+ }
47
+ });
48
+ }
49
+
50
+ // src/transformers/indent.ts
51
+ function createIndent(size) {
52
+ return Array.from({ length: size + 1 }).join(" ");
53
+ }
54
+
55
+ // src/transformers/nameSorter.ts
56
+ function nameSorter(a, b) {
57
+ if (a.name < b.name) {
58
+ return -1;
59
+ }
60
+ if (a.name > b.name) {
61
+ return 1;
62
+ }
63
+ return 0;
64
+ }
65
+
66
+ // src/transformers/searchAndReplace.ts
67
+ function searchAndReplace(options) {
68
+ const { text, replaceBy, prefix = "", key } = options;
69
+ const searchValues = options.searchValues?.(prefix, key) || [
70
+ `${prefix}["${key}"]`,
71
+ `${prefix}['${key}']`,
72
+ `${prefix}[\`${key}\`]`,
73
+ `${prefix}"${key}"`,
74
+ `${prefix}'${key}'`,
75
+ `${prefix}\`${key}\``,
76
+ new RegExp(`${prefix}${key}`, "g")
77
+ ];
78
+ return searchValues.reduce((prev, searchValue) => {
79
+ return prev.toString().replaceAll(searchValue, replaceBy);
80
+ }, text);
81
+ }
82
+
83
+ // src/transformers/trim.ts
84
+ function trim(text) {
85
+ return text.replaceAll(/\n/g, "").trim();
86
+ }
87
+ function trimQuotes(text) {
88
+ if (text.match(/^"(.*)"$/)) {
89
+ return text.replace(/^"(.*)"$/, "$1");
90
+ }
91
+ if (text.match(/^'(.*)'$/)) {
92
+ return text.replace(/^'(.*)'$/, "$1");
93
+ }
94
+ if (text.match(/^`(.*)`$/)) {
95
+ return text.replace(/^`(.*)`$/, "$1");
96
+ }
97
+ return text;
98
+ }
99
+
100
+ // src/transformers/stringify.ts
101
+ function stringify(value) {
102
+ if (value === void 0 || value === null) {
103
+ return '""';
104
+ }
105
+ return JSON.stringify(trimQuotes(value.toString()));
106
+ }
107
+ function stringifyObject(value) {
108
+ const items = Object.entries(value).map(([key, value2]) => {
109
+ if (typeof value2 === "object") {
110
+ return `${key}: {
111
+ ${stringifyObject(value2)}
112
+ }`;
113
+ }
114
+ return `${key}: ${value2}`;
115
+ }).filter(Boolean);
116
+ return items.join(",\n");
117
+ }
118
+
119
+ // src/transformers/toRegExp.ts
120
+ function stringToRegex(text) {
121
+ const isStartWithSlash = text.startsWith("/");
122
+ const isEndWithSlash = text.endsWith("/");
123
+ return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0));
124
+ }
125
+ function toRegExp(text) {
126
+ if (typeof text === "string") {
127
+ const source = trimQuotes(text);
128
+ return stringToRegex(source);
129
+ }
130
+ return stringToRegex(text.toString());
131
+ }
132
+ function toRegExpString(text, func = "RegExp") {
133
+ const isStartWithSlash = text.startsWith("/");
134
+ const isEndWithSlash = text.endsWith("/");
135
+ const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0))}')`;
136
+ return regexp;
137
+ }
138
+ var transformers_default = {
2
139
  combineCodes,
3
- createIndent,
4
- createJSDocBlockText,
5
140
  escape,
6
141
  jsStringEscape,
7
- merge,
142
+ createIndent,
143
+ transformReservedWord,
8
144
  nameSorter,
9
145
  searchAndReplace,
10
146
  stringify,
11
147
  stringifyObject,
12
148
  toRegExp,
13
149
  toRegExpString,
14
- transformReservedWord,
15
- transformers_default,
16
150
  trim,
17
- trimExtName,
18
- trimQuotes
19
- } from "./chunk-JKZG2IJR.js";
20
- import {
21
- camelCase,
151
+ trimQuotes,
152
+ JSDoc: {
153
+ createJSDocBlockText
154
+ },
22
155
  orderBy,
23
- pascalCase,
24
- pathCase
25
- } from "./chunk-4X5FFJPJ.js";
26
- import "./chunk-HMLY7DHA.js";
27
- export {
28
- camelCase,
29
- combineCodes,
30
- createIndent,
31
- createJSDocBlockText,
32
- transformers_default as default,
33
- escape,
34
- jsStringEscape,
35
156
  merge,
36
- nameSorter,
37
- orderBy,
157
+ camelCase,
38
158
  pascalCase,
39
- pathCase,
40
- searchAndReplace,
41
- stringify,
42
- stringifyObject,
43
- toRegExp,
44
- toRegExpString,
45
- transformReservedWord,
46
- trim,
47
- trimExtName,
48
- trimQuotes
159
+ pathCase
49
160
  };
161
+
162
+ export { combineCodes, createIndent, createJSDocBlockText, transformers_default as default, escape, jsStringEscape, nameSorter, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, trim, trimQuotes };
163
+ //# sourceMappingURL=transformers.js.map
50
164
  //# sourceMappingURL=transformers.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/trim.ts","../src/transformers/stringify.ts","../src/transformers/toRegExp.ts","../src/transformers/index.ts"],"names":["value"],"mappings":"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","file":"transformers.js","sourcesContent":["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\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","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 trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | undefined): string {\n if (value === undefined || value === null) {\n return '\"\"'\n }\n\n return JSON.stringify(trimQuotes(value.toString()))\n}\n\nexport function stringifyObject(value: object): string {\n const items = Object.entries(value)\n .map(([key, value]) => {\n if (typeof value === 'object') {\n return `${key}: {\n ${stringifyObject(value)}\n }`\n }\n\n return `${key}: ${value}`\n })\n .filter(Boolean)\n\n return items.join(',\\n')\n}\n","import { jsStringEscape } from './escape'\nimport { trimQuotes } from './trim'\n\nfunction stringToRegex(text: string) {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))\n}\n\n/**\n * @experimental\n */\nexport function toRegExp(text: string | RegExp): RegExp {\n if (typeof text === 'string') {\n const source = trimQuotes(text)\n\n return stringToRegex(source)\n }\n\n return stringToRegex(text.toString())\n}\n\nexport function toRegExpString(text: string, func = 'RegExp'): string {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))}')`\n\n return regexp\n}\n","import { orderBy } from 'natural-orderby'\nimport { merge } from 'remeda'\n\nimport { 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 { stringify, stringifyObject } from './stringify.ts'\nimport { toRegExp, toRegExpString } from './toRegExp.ts'\nimport { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimQuotes } 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 { stringify, stringifyObject } from './stringify.ts'\nexport { toRegExp, toRegExpString } from './toRegExp.ts'\nexport { transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimQuotes } from './trim.ts'\nexport { merge } from 'remeda'\nexport { orderBy } from 'natural-orderby'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n nameSorter,\n searchAndReplace,\n stringify,\n stringifyObject,\n toRegExp,\n toRegExpString,\n trim,\n trimQuotes,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\n camelCase,\n pascalCase,\n pathCase,\n} as const\n"]}
package/dist/utils.cjs CHANGED
@@ -1,27 +1,66 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
- var _chunkYTSNYMHWcjs = require('./chunk-YTSNYMHW.cjs');
13
- require('./chunk-67C6RBGQ.cjs');
14
- require('./chunk-XCPFG6DO.cjs');
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
- exports.FunctionParams = _chunkYTSNYMHWcjs.FunctionParams; exports.URLPath = _chunkYTSNYMHWcjs.URLPath; exports.getParser = _chunkYTSNYMHWcjs.getParser; exports.getUniqueName = _chunkYTSNYMHWcjs.getUniqueName; exports.isPromise = _chunkYTSNYMHWcjs.isPromise; exports.isPromiseFulfilledResult = _chunkYTSNYMHWcjs.isPromiseFulfilledResult; exports.isPromiseRejectedResult = _chunkYTSNYMHWcjs.isPromiseRejectedResult; exports.renderTemplate = _chunkYTSNYMHWcjs.renderTemplate; exports.setUniqueName = _chunkYTSNYMHWcjs.setUniqueName; exports.timeout = _chunkYTSNYMHWcjs.timeout;
1
+ 'use strict';
2
+
3
+ var chunkMHOAMP5V_cjs = require('./chunk-MHOAMP5V.cjs');
4
+ require('./chunk-6NKPFDXC.cjs');
5
+ require('./chunk-RSTRL2FG.cjs');
6
+
7
+
8
+
9
+ Object.defineProperty(exports, "FunctionParams", {
10
+ enumerable: true,
11
+ get: function () { return chunkMHOAMP5V_cjs.FunctionParams; }
12
+ });
13
+ Object.defineProperty(exports, "URLPath", {
14
+ enumerable: true,
15
+ get: function () { return chunkMHOAMP5V_cjs.URLPath; }
16
+ });
17
+ Object.defineProperty(exports, "createFile", {
18
+ enumerable: true,
19
+ get: function () { return chunkMHOAMP5V_cjs.createFile; }
20
+ });
21
+ Object.defineProperty(exports, "createFileExport", {
22
+ enumerable: true,
23
+ get: function () { return chunkMHOAMP5V_cjs.createFileExport; }
24
+ });
25
+ Object.defineProperty(exports, "createFileImport", {
26
+ enumerable: true,
27
+ get: function () { return chunkMHOAMP5V_cjs.createFileImport; }
28
+ });
29
+ Object.defineProperty(exports, "createFileParser", {
30
+ enumerable: true,
31
+ get: function () { return chunkMHOAMP5V_cjs.createFileParser; }
32
+ });
33
+ Object.defineProperty(exports, "getFileParser", {
34
+ enumerable: true,
35
+ get: function () { return chunkMHOAMP5V_cjs.getFileParser; }
36
+ });
37
+ Object.defineProperty(exports, "getUniqueName", {
38
+ enumerable: true,
39
+ get: function () { return chunkMHOAMP5V_cjs.getUniqueName; }
40
+ });
41
+ Object.defineProperty(exports, "isPromise", {
42
+ enumerable: true,
43
+ get: function () { return chunkMHOAMP5V_cjs.isPromise; }
44
+ });
45
+ Object.defineProperty(exports, "isPromiseFulfilledResult", {
46
+ enumerable: true,
47
+ get: function () { return chunkMHOAMP5V_cjs.isPromiseFulfilledResult; }
48
+ });
49
+ Object.defineProperty(exports, "isPromiseRejectedResult", {
50
+ enumerable: true,
51
+ get: function () { return chunkMHOAMP5V_cjs.isPromiseRejectedResult; }
52
+ });
53
+ Object.defineProperty(exports, "renderTemplate", {
54
+ enumerable: true,
55
+ get: function () { return chunkMHOAMP5V_cjs.renderTemplate; }
56
+ });
57
+ Object.defineProperty(exports, "setUniqueName", {
58
+ enumerable: true,
59
+ get: function () { return chunkMHOAMP5V_cjs.setUniqueName; }
60
+ });
61
+ Object.defineProperty(exports, "timeout", {
62
+ enumerable: true,
63
+ get: function () { return chunkMHOAMP5V_cjs.timeout; }
64
+ });
65
+ //# sourceMappingURL=utils.cjs.map
27
66
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/utils.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,+jBAAC","file":"/home/runner/work/kubb/kubb/packages/core/dist/utils.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils.cjs"}
package/dist/utils.d.cts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { PossiblePromise } from '@kubb/types';
2
- import * as _kubb_parser_ts from '@kubb/parser-ts';
2
+ import * as KubbFile from '@kubb/fs/types';
3
+ import { L as Logger } from './logger-DvbHXjIO.cjs';
4
+ import 'consola';
3
5
 
4
6
  type FunctionParamsASTWithoutType = {
5
7
  name?: string;
@@ -101,6 +103,33 @@ declare class URLPath {
101
103
  toURLPath(): string;
102
104
  }
103
105
 
104
- declare function getParser(language: string | undefined): Promise<typeof _kubb_parser_ts>;
106
+ /**
107
+ * Helper to create a file with name and id set
108
+ */
109
+ declare function createFile<TMeta extends object = object>(file: KubbFile.File<TMeta>): KubbFile.ResolvedFile<TMeta>;
110
+ /**
111
+ * Helper to create a fileImport with extName set
112
+ */
113
+ declare function createFileImport(imp: KubbFile.Import): KubbFile.ResolvedImport;
114
+ /**
115
+ * Helper to create a fileExport with extName set
116
+ */
117
+ declare function createFileExport(exp: KubbFile.Export): KubbFile.ResolvedExport;
118
+ type ParserModule<TMeta extends object = object> = {
119
+ /**
120
+ * By default @kubb/react is used
121
+ */
122
+ render: (item: any) => any;
123
+ format: (source: string) => Promise<string>;
124
+ /**
125
+ * Convert a file to string
126
+ */
127
+ print: (file: KubbFile.ResolvedFile<TMeta>, options: PrintOptions) => Promise<string>;
128
+ };
129
+ declare function createFileParser<TMeta extends object = object>(parser: ParserModule<TMeta>): ParserModule<TMeta>;
130
+ type PrintOptions = {
131
+ logger?: Logger;
132
+ };
133
+ declare function getFileParser<TMeta extends object = object>(extName: KubbFile.Extname | undefined): Promise<ParserModule<TMeta>>;
105
134
 
106
- export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
135
+ export { FunctionParams, type FunctionParamsAST, type ParserModule, type URLObject, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
package/dist/utils.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { PossiblePromise } from '@kubb/types';
2
- import * as _kubb_parser_ts from '@kubb/parser-ts';
2
+ import * as KubbFile from '@kubb/fs/types';
3
+ import { L as Logger } from './logger-DvbHXjIO.js';
4
+ import 'consola';
3
5
 
4
6
  type FunctionParamsASTWithoutType = {
5
7
  name?: string;
@@ -101,6 +103,33 @@ declare class URLPath {
101
103
  toURLPath(): string;
102
104
  }
103
105
 
104
- declare function getParser(language: string | undefined): Promise<typeof _kubb_parser_ts>;
106
+ /**
107
+ * Helper to create a file with name and id set
108
+ */
109
+ declare function createFile<TMeta extends object = object>(file: KubbFile.File<TMeta>): KubbFile.ResolvedFile<TMeta>;
110
+ /**
111
+ * Helper to create a fileImport with extName set
112
+ */
113
+ declare function createFileImport(imp: KubbFile.Import): KubbFile.ResolvedImport;
114
+ /**
115
+ * Helper to create a fileExport with extName set
116
+ */
117
+ declare function createFileExport(exp: KubbFile.Export): KubbFile.ResolvedExport;
118
+ type ParserModule<TMeta extends object = object> = {
119
+ /**
120
+ * By default @kubb/react is used
121
+ */
122
+ render: (item: any) => any;
123
+ format: (source: string) => Promise<string>;
124
+ /**
125
+ * Convert a file to string
126
+ */
127
+ print: (file: KubbFile.ResolvedFile<TMeta>, options: PrintOptions) => Promise<string>;
128
+ };
129
+ declare function createFileParser<TMeta extends object = object>(parser: ParserModule<TMeta>): ParserModule<TMeta>;
130
+ type PrintOptions = {
131
+ logger?: Logger;
132
+ };
133
+ declare function getFileParser<TMeta extends object = object>(extName: KubbFile.Extname | undefined): Promise<ParserModule<TMeta>>;
105
134
 
106
- export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
135
+ export { FunctionParams, type FunctionParamsAST, type ParserModule, type URLObject, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
package/dist/utils.js CHANGED
@@ -1,27 +1,4 @@
1
- import {
2
- FunctionParams,
3
- URLPath,
4
- getParser,
5
- getUniqueName,
6
- isPromise,
7
- isPromiseFulfilledResult,
8
- isPromiseRejectedResult,
9
- renderTemplate,
10
- setUniqueName,
11
- timeout
12
- } from "./chunk-5JZNFPUP.js";
13
- import "./chunk-4X5FFJPJ.js";
14
- import "./chunk-HMLY7DHA.js";
15
- export {
16
- FunctionParams,
17
- URLPath,
18
- getParser,
19
- getUniqueName,
20
- isPromise,
21
- isPromiseFulfilledResult,
22
- isPromiseRejectedResult,
23
- renderTemplate,
24
- setUniqueName,
25
- timeout
26
- };
1
+ export { FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout } from './chunk-CLTNHSMO.js';
2
+ import './chunk-4X5FFJPJ.js';
3
+ //# sourceMappingURL=utils.js.map
27
4
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/core",
3
- "version": "3.0.0-alpha.2",
3
+ "version": "3.0.0-alpha.21",
4
4
  "description": "Generator core",
5
5
  "keywords": [
6
6
  "typescript",
@@ -76,31 +76,28 @@
76
76
  ],
77
77
  "dependencies": {
78
78
  "change-case": "^5.4.4",
79
- "directory-tree": "^3.5.2",
80
79
  "find-up": "^7.0.0",
81
80
  "natural-orderby": "^3.0.2",
81
+ "object-hash": "^3.0.0",
82
82
  "p-queue": "^8.0.1",
83
- "remeda": "^2.11.0",
83
+ "remeda": "^2.14.0",
84
84
  "seedrandom": "^3.0.5",
85
85
  "semver": "^7.6.3",
86
- "unraw": "^3.0.0",
87
- "@kubb/fs": "3.0.0-alpha.2",
88
- "@kubb/parser-ts": "3.0.0-alpha.2",
89
- "@kubb/types": "3.0.0-alpha.2"
86
+ "@kubb/fs": "3.0.0-alpha.21",
87
+ "@kubb/parser-ts": "3.0.0-alpha.21",
88
+ "@kubb/types": "3.0.0-alpha.21"
90
89
  },
91
90
  "devDependencies": {
92
- "@types/react": "^18.3.4",
91
+ "@types/object-hash": "^3.0.6",
93
92
  "@types/seedrandom": "^3.0.8",
94
93
  "@types/semver": "^7.5.8",
95
94
  "consola": "^3.2.3",
96
- "ora": "^8.0.1",
97
95
  "prettier": "^3.3.3",
98
96
  "tinyrainbow": "^1.2.0",
99
- "tsup": "^8.2.4",
100
- "typescript": "^5.5.4",
101
- "@kubb/config-biome": "3.0.0-alpha.2",
102
- "@kubb/config-ts": "3.0.0-alpha.2",
103
- "@kubb/config-tsup": "3.0.0-alpha.2"
97
+ "tsup": "^8.3.0",
98
+ "typescript": "^5.6.2",
99
+ "@kubb/config-ts": "3.0.0-alpha.21",
100
+ "@kubb/config-tsup": "3.0.0-alpha.21"
104
101
  },
105
102
  "engines": {
106
103
  "node": ">=20"