@kubb/core 2.25.0 → 3.0.0-alpha.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.
- package/dist/{chunk-LTDZTHZR.cjs → chunk-DKW7IBJV.cjs} +18 -18
- package/dist/{chunk-LTDZTHZR.cjs.map → chunk-DKW7IBJV.cjs.map} +1 -1
- package/dist/{chunk-7TQBR4H5.cjs → chunk-LKXUCYWU.cjs} +3 -3
- package/dist/{chunk-7TQBR4H5.cjs.map → chunk-LKXUCYWU.cjs.map} +1 -1
- package/dist/{chunk-LA5BJZ2S.cjs → chunk-OPOT6TCT.cjs} +28 -28
- package/dist/{chunk-LA5BJZ2S.cjs.map → chunk-OPOT6TCT.cjs.map} +1 -1
- package/dist/{chunk-AS2HY2JU.js → chunk-SA2GZKXS.js} +4 -3
- package/dist/chunk-SA2GZKXS.js.map +1 -0
- package/dist/{chunk-MJZS5YIC.cjs → chunk-XRC6KXC3.cjs} +5 -5
- package/dist/{chunk-MJZS5YIC.cjs.map → chunk-XRC6KXC3.cjs.map} +1 -1
- package/dist/{chunk-YXBSWIC2.cjs → chunk-XRUOSVKX.cjs} +12 -12
- package/dist/{chunk-YXBSWIC2.cjs.map → chunk-XRUOSVKX.cjs.map} +1 -1
- package/dist/{chunk-GIKYFKVS.cjs → chunk-Y3LLJA4H.cjs} +148 -147
- package/dist/chunk-Y3LLJA4H.cjs.map +1 -0
- package/dist/index.cjs +132 -132
- package/dist/index.js +1 -1
- package/dist/logger.cjs +3 -3
- package/dist/mocks.cjs +8 -8
- package/dist/mocks.js +1 -1
- package/dist/transformers.cjs +4 -4
- package/dist/utils.cjs +4 -4
- package/globals.d.ts +9 -9
- package/package.json +10 -10
- package/src/FileManager.ts +4 -2
- package/dist/chunk-AS2HY2JU.js.map +0 -1
- package/dist/chunk-GIKYFKVS.cjs.map +0 -1
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkXRC6KXC3cjs = require('./chunk-XRC6KXC3.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkLKXUCYWUcjs = require('./chunk-LKXUCYWU.cjs');
|
|
10
10
|
|
|
11
11
|
// src/transformers/index.ts
|
|
12
|
-
|
|
12
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
13
13
|
var _remeda = require('remeda');
|
|
14
14
|
|
|
15
15
|
// src/transformers/combineCodes.ts
|
|
16
|
-
|
|
16
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
17
17
|
function combineCodes(codes) {
|
|
18
18
|
return codes.join("\n");
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
// src/transformers/createJSDocBlockText.ts
|
|
22
|
-
|
|
22
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
23
23
|
function createJSDocBlockText({ comments }) {
|
|
24
24
|
const filteredComments = comments.filter(Boolean);
|
|
25
25
|
if (!filteredComments.length) {
|
|
@@ -31,7 +31,7 @@ function createJSDocBlockText({ comments }) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
// src/transformers/escape.ts
|
|
34
|
-
|
|
34
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
35
35
|
function escape(text) {
|
|
36
36
|
return text ? text.replaceAll("`", "\\`") : "";
|
|
37
37
|
}
|
|
@@ -57,13 +57,13 @@ function jsStringEscape(input) {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
// src/transformers/indent.ts
|
|
60
|
-
|
|
60
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
61
61
|
function createIndent(size) {
|
|
62
62
|
return Array.from({ length: size + 1 }).join(" ");
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
// src/transformers/nameSorter.ts
|
|
66
|
-
|
|
66
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
67
67
|
function nameSorter(a, b) {
|
|
68
68
|
if (a.name < b.name) {
|
|
69
69
|
return -1;
|
|
@@ -75,7 +75,7 @@ function nameSorter(a, b) {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
// src/transformers/searchAndReplace.ts
|
|
78
|
-
|
|
78
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
79
79
|
function searchAndReplace(options) {
|
|
80
80
|
const { text, replaceBy, prefix = "", key } = options;
|
|
81
81
|
const searchValues = _optionalChain([options, 'access', _ => _.searchValues, 'optionalCall', _2 => _2(prefix, key)]) || [
|
|
@@ -93,10 +93,10 @@ function searchAndReplace(options) {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
// src/transformers/stringify.ts
|
|
96
|
-
|
|
96
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
97
97
|
|
|
98
98
|
// src/transformers/trim.ts
|
|
99
|
-
|
|
99
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
100
100
|
function trim(text) {
|
|
101
101
|
return text.replaceAll(/\n/g, "").trim();
|
|
102
102
|
}
|
|
@@ -136,7 +136,7 @@ function stringifyObject(value) {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
// src/transformers/toRegExp.ts
|
|
139
|
-
|
|
139
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
140
140
|
function stringToRegex(text) {
|
|
141
141
|
const isStartWithSlash = text.startsWith("/");
|
|
142
142
|
const isEndWithSlash = text.endsWith("/");
|
|
@@ -157,7 +157,7 @@ function toRegExpString(text, func = "RegExp") {
|
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
// src/transformers/transformReservedWord.ts
|
|
160
|
-
|
|
160
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
161
161
|
var reservedWords = [
|
|
162
162
|
"abstract",
|
|
163
163
|
"arguments",
|
|
@@ -270,11 +270,11 @@ var transformers_default = {
|
|
|
270
270
|
JSDoc: {
|
|
271
271
|
createJSDocBlockText
|
|
272
272
|
},
|
|
273
|
-
orderBy:
|
|
273
|
+
orderBy: _chunkXRC6KXC3cjs.orderBy,
|
|
274
274
|
merge: _remeda.merge,
|
|
275
|
-
camelCase:
|
|
276
|
-
pascalCase:
|
|
277
|
-
pathCase:
|
|
275
|
+
camelCase: _chunkXRC6KXC3cjs.camelCase,
|
|
276
|
+
pascalCase: _chunkXRC6KXC3cjs.pascalCase,
|
|
277
|
+
pathCase: _chunkXRC6KXC3cjs.pathCase
|
|
278
278
|
};
|
|
279
279
|
|
|
280
280
|
|
|
@@ -296,4 +296,4 @@ var transformers_default = {
|
|
|
296
296
|
|
|
297
297
|
|
|
298
298
|
exports.trim = trim; exports.trimQuotes = trimQuotes; exports.trimExtName = trimExtName; exports.searchAndReplace = searchAndReplace; exports.combineCodes = combineCodes; exports.createJSDocBlockText = createJSDocBlockText; exports.escape = escape; exports.jsStringEscape = jsStringEscape; exports.createIndent = createIndent; exports.nameSorter = nameSorter; exports.stringify = stringify; exports.stringifyObject = stringifyObject; exports.toRegExp = toRegExp; exports.toRegExpString = toRegExpString; exports.transformReservedWord = transformReservedWord; exports.transformers_default = transformers_default; exports.merge = _remeda.merge;
|
|
299
|
-
//# sourceMappingURL=chunk-
|
|
299
|
+
//# sourceMappingURL=chunk-DKW7IBJV.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-LTDZTHZR.cjs","../src/transformers/index.ts","../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/stringify.ts","../src/transformers/trim.ts","../src/transformers/toRegExp.ts","../src/transformers/transformReservedWord.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,8CAAA,CAAA;AACA,gCAAsB;ADYtB;AACA;AEdA,8CAAA,CAAA;AAAO,SAAS,YAAA,CAAa,KAAA,EAAyB;AACpD,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AACxB;AFiBA;AACA;AGpBA,8CAAA,CAAA;AAAO,SAAS,oBAAA,CAAqB,EAAE,SAAS,CAAA,EAAwC;AACtF,EAAA,MAAM,iBAAA,EAAmB,QAAA,CAAS,MAAA,CAAO,OAAO,CAAA;AAEhD,EAAA,GAAA,CAAI,CAAC,gBAAA,CAAiB,MAAA,EAAQ;AAC5B,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,OAAO,CAAA;AAAA,GAAA,EAAW,gBAAA,CAAiB,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,GAAA,CAAA;AAClD;AHuBA;AACA;AIhCA,8CAAA,CAAA;AAAO,SAAS,MAAA,CAAO,IAAA,EAAuB;AAC5C,EAAA,OAAO,KAAA,EAAO,IAAA,CAAK,UAAA,CAAW,GAAA,EAAK,KAAK,EAAA,EAAI,EAAA;AAC9C;AAQO,SAAS,cAAA,CAAe,KAAA,EAAoB;AACjD,EAAA,OAAO,CAAA,EAAA;AACL,IAAA;AACE,MAAA;AACA,MAAA;AACA,MAAA;AACE,QAAA;AAEF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACJ,IAAA;AACD,EAAA;AACH;AJ2BU;AACA;AK1DV;AAAgB;AACP,EAAA;AACT;AL6DU;AACA;AMhEV;AAAgB;AACR,EAAA;AACJ,IAAA;AACF,EAAA;AACM,EAAA;AACJ,IAAA;AACF,EAAA;AACO,EAAA;AACT;ANmEU;AACA;AO5EV;AAQgB;AACN,EAAA;AAEF,EAAA;AACD,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACC,IAAA;AACN,EAAA;AAEO,EAAA;AACL,IAAA;AACK,EAAA;AACT;APqEU;AACA;AQ9FV;ARgGU;AACA;ASjGV;AAAgB;AACP,EAAA;AACT;AAEgB;AACV,EAAA;AACF,IAAA;AACF,EAAA;AACI,EAAA;AACF,IAAA;AACF,EAAA;AAEI,EAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAEgB;AACP,EAAA;AACT;ATgGU;AACA;AQpHM;AACV,EAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAEgB;AACR,EAAA;AAEE,IAAA;AACF,MAAA;AACE,QAAA;AAAsB,OAAA;AAE1B,IAAA;AAEA,IAAA;AAED,EAAA;AAEI,EAAA;AACT;ARgHU;AACA;AUzIV;AAGS;AACD,EAAA;AACA,EAAA;AAEC,EAAA;AACT;AAKgB;AACV,EAAA;AACI,IAAA;AAEN,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAEgB;AACR,EAAA;AACA,EAAA;AAEA,EAAA;AAEC,EAAA;AACT;AV+HU;AACA;AW9JV;AAGM;AACJ,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AAEA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACF;AAEgB;AACT,EAAA;AACH,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AX2JU;AACA;AClOD;AAGF;AACL,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACO,EAAA;AACL,IAAA;AACF,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACF;ADkOU;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/kubb/kubb/packages/core/dist/chunk-LTDZTHZR.cjs","sourcesContent":[null,"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, trimExtName, 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, trimExtName, 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 trimExtName,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\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\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\nexport function escapeStringRegexp(string: string) {\n if (typeof string !== 'string') {\n throw new TypeError('Expected a string')\n }\n\n // Escape characters with special meaning either inside or outside character sets.\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d')\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","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","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\nexport function trimExtName(text: string): string {\n return text.replace(/\\.[^/.]+$/, '')\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","/**\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
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-DKW7IBJV.cjs","../src/transformers/index.ts","../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/stringify.ts","../src/transformers/trim.ts","../src/transformers/toRegExp.ts","../src/transformers/transformReservedWord.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,8CAAA,CAAA;AACA,gCAAsB;ADYtB;AACA;AEdA,8CAAA,CAAA;AAAO,SAAS,YAAA,CAAa,KAAA,EAAyB;AACpD,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AACxB;AFiBA;AACA;AGpBA,8CAAA,CAAA;AAAO,SAAS,oBAAA,CAAqB,EAAE,SAAS,CAAA,EAAwC;AACtF,EAAA,MAAM,iBAAA,EAAmB,QAAA,CAAS,MAAA,CAAO,OAAO,CAAA;AAEhD,EAAA,GAAA,CAAI,CAAC,gBAAA,CAAiB,MAAA,EAAQ;AAC5B,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,OAAO,CAAA;AAAA,GAAA,EAAW,gBAAA,CAAiB,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,GAAA,CAAA;AAClD;AHuBA;AACA;AIhCA,8CAAA,CAAA;AAAO,SAAS,MAAA,CAAO,IAAA,EAAuB;AAC5C,EAAA,OAAO,KAAA,EAAO,IAAA,CAAK,UAAA,CAAW,GAAA,EAAK,KAAK,EAAA,EAAI,EAAA;AAC9C;AAQO,SAAS,cAAA,CAAe,KAAA,EAAoB;AACjD,EAAA,OAAO,CAAA,EAAA;AACL,IAAA;AACE,MAAA;AACA,MAAA;AACA,MAAA;AACE,QAAA;AAEF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACJ,IAAA;AACD,EAAA;AACH;AJ2BU;AACA;AK1DV;AAAgB;AACP,EAAA;AACT;AL6DU;AACA;AMhEV;AAAgB;AACR,EAAA;AACJ,IAAA;AACF,EAAA;AACM,EAAA;AACJ,IAAA;AACF,EAAA;AACO,EAAA;AACT;ANmEU;AACA;AO5EV;AAQgB;AACN,EAAA;AAEF,EAAA;AACD,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACC,IAAA;AACN,EAAA;AAEO,EAAA;AACL,IAAA;AACK,EAAA;AACT;APqEU;AACA;AQ9FV;ARgGU;AACA;ASjGV;AAAgB;AACP,EAAA;AACT;AAEgB;AACV,EAAA;AACF,IAAA;AACF,EAAA;AACI,EAAA;AACF,IAAA;AACF,EAAA;AAEI,EAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAEgB;AACP,EAAA;AACT;ATgGU;AACA;AQpHM;AACV,EAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAEgB;AACR,EAAA;AAEE,IAAA;AACF,MAAA;AACE,QAAA;AAAsB,OAAA;AAE1B,IAAA;AAEA,IAAA;AAED,EAAA;AAEI,EAAA;AACT;ARgHU;AACA;AUzIV;AAGS;AACD,EAAA;AACA,EAAA;AAEC,EAAA;AACT;AAKgB;AACV,EAAA;AACI,IAAA;AAEN,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAEgB;AACR,EAAA;AACA,EAAA;AAEA,EAAA;AAEC,EAAA;AACT;AV+HU;AACA;AW9JV;AAGM;AACJ,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AAEA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACF;AAEgB;AACT,EAAA;AACH,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AX2JU;AACA;AClOD;AAGF;AACL,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACO,EAAA;AACL,IAAA;AACF,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACF;ADkOU;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/kubb/kubb/packages/core/dist/chunk-DKW7IBJV.cjs","sourcesContent":[null,"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, trimExtName, 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, trimExtName, 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 trimExtName,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\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\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\nexport function escapeStringRegexp(string: string) {\n if (typeof string !== 'string') {\n throw new TypeError('Expected a string')\n }\n\n // Escape characters with special meaning either inside or outside character sets.\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d')\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","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","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\nexport function trimExtName(text: string): string {\n return text.replace(/\\.[^/.]+$/, '')\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","/**\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"]}
|
|
@@ -45,9 +45,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
|
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
-
// ../../node_modules/.pnpm/tsup@8.2.
|
|
48
|
+
// ../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.47.5_@types+node@20.14.15__jiti@1.21.6_postcss@8.4.40_typescript@5.5.4_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js
|
|
49
49
|
var init_cjs_shims = __esm({
|
|
50
|
-
"../../node_modules/.pnpm/tsup@8.2.
|
|
50
|
+
"../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.47.5_@types+node@20.14.15__jiti@1.21.6_postcss@8.4.40_typescript@5.5.4_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js"() {
|
|
51
51
|
"use strict";
|
|
52
52
|
}
|
|
53
53
|
});
|
|
@@ -63,4 +63,4 @@ var init_cjs_shims = __esm({
|
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
exports.__commonJS = __commonJS; exports.__toESM = __toESM; exports.__publicField = __publicField; exports.__privateGet = __privateGet; exports.__privateAdd = __privateAdd; exports.__privateSet = __privateSet; exports.__privateMethod = __privateMethod; exports.__privateWrapper = __privateWrapper; exports.init_cjs_shims = init_cjs_shims;
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-LKXUCYWU.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-LKXUCYWU.cjs","../../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.47.5_@types+node@20.14.15__jiti@1.21.6_postcss@8.4.40_typescript@5.5.4_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js"],"names":[],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/core/dist/chunk-LKXUCYWU.cjs","sourcesContent":[null,"// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () =>\n typeof document === 'undefined'\n ? new URL(`file:${__filename}`).href\n : (document.currentScript && document.currentScript.src) ||\n new URL('main.js', document.baseURI).href\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n"]}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } 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
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkXRC6KXC3cjs = require('./chunk-XRC6KXC3.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkLKXUCYWUcjs = require('./chunk-LKXUCYWU.cjs');
|
|
11
11
|
|
|
12
12
|
// src/utils/index.ts
|
|
13
|
-
|
|
13
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
14
14
|
|
|
15
15
|
// src/utils/FunctionParams.ts
|
|
16
|
-
|
|
16
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
17
17
|
var _items, _FunctionParams_static, orderItems_fn, addParams_fn;
|
|
18
18
|
var _FunctionParams = class _FunctionParams {
|
|
19
19
|
constructor() {
|
|
20
|
-
|
|
20
|
+
_chunkLKXUCYWUcjs.__privateAdd.call(void 0, this, _items, []);
|
|
21
21
|
return this;
|
|
22
22
|
}
|
|
23
23
|
get items() {
|
|
24
|
-
return
|
|
24
|
+
return _chunkLKXUCYWUcjs.__privateGet.call(void 0, this, _items).flat();
|
|
25
25
|
}
|
|
26
26
|
add(item) {
|
|
27
27
|
if (!item) {
|
|
28
28
|
return this;
|
|
29
29
|
}
|
|
30
30
|
if (Array.isArray(item)) {
|
|
31
|
-
item.filter(Boolean).forEach((it) =>
|
|
31
|
+
item.filter(Boolean).forEach((it) => _chunkLKXUCYWUcjs.__privateGet.call(void 0, this, _items).push(it));
|
|
32
32
|
return this;
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
_chunkLKXUCYWUcjs.__privateGet.call(void 0, this, _items).push(item);
|
|
35
35
|
return this;
|
|
36
36
|
}
|
|
37
37
|
static toObject(items) {
|
|
@@ -41,9 +41,9 @@ var _FunctionParams = class _FunctionParams {
|
|
|
41
41
|
const required = _nullishCoalesce(items.every((item) => item.required), () => ( true));
|
|
42
42
|
items.forEach((item) => {
|
|
43
43
|
var _a, _b;
|
|
44
|
-
name =
|
|
44
|
+
name = _chunkLKXUCYWUcjs.__privateMethod.call(void 0, _a = _FunctionParams, _FunctionParams_static, addParams_fn).call(_a, name, { ...item, type: void 0 });
|
|
45
45
|
if (items.some((item2) => item2.type)) {
|
|
46
|
-
type =
|
|
46
|
+
type = _chunkLKXUCYWUcjs.__privateMethod.call(void 0, _b = _FunctionParams, _FunctionParams_static, addParams_fn).call(_b, type, item);
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
return {
|
|
@@ -55,35 +55,35 @@ var _FunctionParams = class _FunctionParams {
|
|
|
55
55
|
}
|
|
56
56
|
static toString(items) {
|
|
57
57
|
var _a;
|
|
58
|
-
const sortedData =
|
|
58
|
+
const sortedData = _chunkLKXUCYWUcjs.__privateMethod.call(void 0, _a = _FunctionParams, _FunctionParams_static, orderItems_fn).call(_a, items);
|
|
59
59
|
return sortedData.reduce((acc, item) => {
|
|
60
60
|
var _a2, _b, _c;
|
|
61
61
|
if (Array.isArray(item)) {
|
|
62
62
|
if (item.length <= 0) {
|
|
63
63
|
return acc;
|
|
64
64
|
}
|
|
65
|
-
const subItems =
|
|
65
|
+
const subItems = _chunkLKXUCYWUcjs.__privateMethod.call(void 0, _a2 = _FunctionParams, _FunctionParams_static, orderItems_fn).call(_a2, item);
|
|
66
66
|
const objectItem = _FunctionParams.toObject(subItems);
|
|
67
|
-
return
|
|
67
|
+
return _chunkLKXUCYWUcjs.__privateMethod.call(void 0, _b = _FunctionParams, _FunctionParams_static, addParams_fn).call(_b, acc, objectItem);
|
|
68
68
|
}
|
|
69
|
-
return
|
|
69
|
+
return _chunkLKXUCYWUcjs.__privateMethod.call(void 0, _c = _FunctionParams, _FunctionParams_static, addParams_fn).call(_c, acc, item);
|
|
70
70
|
}, []).join(", ");
|
|
71
71
|
}
|
|
72
72
|
toObject() {
|
|
73
73
|
var _a;
|
|
74
|
-
const items =
|
|
74
|
+
const items = _chunkLKXUCYWUcjs.__privateMethod.call(void 0, _a = _FunctionParams, _FunctionParams_static, orderItems_fn).call(_a, _chunkLKXUCYWUcjs.__privateGet.call(void 0, this, _items)).flat();
|
|
75
75
|
return _FunctionParams.toObject(items);
|
|
76
76
|
}
|
|
77
77
|
toString() {
|
|
78
78
|
var _a;
|
|
79
|
-
const items =
|
|
79
|
+
const items = _chunkLKXUCYWUcjs.__privateMethod.call(void 0, _a = _FunctionParams, _FunctionParams_static, orderItems_fn).call(_a, _chunkLKXUCYWUcjs.__privateGet.call(void 0, this, _items));
|
|
80
80
|
return _FunctionParams.toString(items);
|
|
81
81
|
}
|
|
82
82
|
};
|
|
83
83
|
_items = new WeakMap();
|
|
84
84
|
_FunctionParams_static = new WeakSet();
|
|
85
85
|
orderItems_fn = function(items) {
|
|
86
|
-
return
|
|
86
|
+
return _chunkXRC6KXC3cjs.orderBy.call(void 0,
|
|
87
87
|
items.filter(Boolean),
|
|
88
88
|
[
|
|
89
89
|
(v) => {
|
|
@@ -111,7 +111,7 @@ addParams_fn = function(acc, item) {
|
|
|
111
111
|
acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
|
|
112
112
|
return acc;
|
|
113
113
|
}
|
|
114
|
-
const parameterName = name.startsWith("{") ? name :
|
|
114
|
+
const parameterName = name.startsWith("{") ? name : _chunkXRC6KXC3cjs.camelCase.call(void 0, name);
|
|
115
115
|
if (type) {
|
|
116
116
|
if (required) {
|
|
117
117
|
acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
|
|
@@ -123,11 +123,11 @@ addParams_fn = function(acc, item) {
|
|
|
123
123
|
}
|
|
124
124
|
return acc;
|
|
125
125
|
};
|
|
126
|
-
|
|
126
|
+
_chunkLKXUCYWUcjs.__privateAdd.call(void 0, _FunctionParams, _FunctionParams_static);
|
|
127
127
|
var FunctionParams = _FunctionParams;
|
|
128
128
|
|
|
129
129
|
// src/utils/promise.ts
|
|
130
|
-
|
|
130
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
131
131
|
function isPromise(result) {
|
|
132
132
|
return !!result && typeof _optionalChain([result, 'optionalAccess', _4 => _4.then]) === "function";
|
|
133
133
|
}
|
|
@@ -139,7 +139,7 @@ function isPromiseRejectedResult(result) {
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
// src/utils/renderTemplate.ts
|
|
142
|
-
|
|
142
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
143
143
|
function renderTemplate(template, data = void 0) {
|
|
144
144
|
if (!data || !Object.keys(data).length) {
|
|
145
145
|
return template.replace(/{{(.*?)}}/g, "");
|
|
@@ -164,7 +164,7 @@ function renderTemplate(template, data = void 0) {
|
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
// src/utils/timeout.ts
|
|
167
|
-
|
|
167
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
168
168
|
async function timeout(ms) {
|
|
169
169
|
return new Promise((resolve) => {
|
|
170
170
|
setTimeout(() => {
|
|
@@ -174,7 +174,7 @@ async function timeout(ms) {
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
// src/utils/uniqueName.ts
|
|
177
|
-
|
|
177
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
178
178
|
function getUniqueName(originalName, data) {
|
|
179
179
|
let used = data[originalName] || 0;
|
|
180
180
|
if (used) {
|
|
@@ -195,7 +195,7 @@ function setUniqueName(originalName, data) {
|
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
// src/utils/URLPath.ts
|
|
198
|
-
|
|
198
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
199
199
|
var URLPath = class {
|
|
200
200
|
constructor(path) {
|
|
201
201
|
this.path = path;
|
|
@@ -262,7 +262,7 @@ var URLPath = class {
|
|
|
262
262
|
let newPath = this.path.replaceAll("{", "${");
|
|
263
263
|
if (found) {
|
|
264
264
|
newPath = found.reduce((prev, curr) => {
|
|
265
|
-
const pathParam = replacer ? replacer(
|
|
265
|
+
const pathParam = replacer ? replacer(_chunkXRC6KXC3cjs.camelCase.call(void 0, curr)) : _chunkXRC6KXC3cjs.camelCase.call(void 0, curr);
|
|
266
266
|
const replacement = `\${${pathParam}}`;
|
|
267
267
|
return prev.replace(curr, replacement);
|
|
268
268
|
}, this.path);
|
|
@@ -278,7 +278,7 @@ var URLPath = class {
|
|
|
278
278
|
const params = {};
|
|
279
279
|
found.forEach((item) => {
|
|
280
280
|
item = item.replaceAll("{", "").replaceAll("}", "");
|
|
281
|
-
const pathParam = replacer ? replacer(
|
|
281
|
+
const pathParam = replacer ? replacer(_chunkXRC6KXC3cjs.camelCase.call(void 0, item)) : _chunkXRC6KXC3cjs.camelCase.call(void 0, item);
|
|
282
282
|
params[pathParam] = pathParam;
|
|
283
283
|
}, this.path);
|
|
284
284
|
return params;
|
|
@@ -293,7 +293,7 @@ var URLPath = class {
|
|
|
293
293
|
};
|
|
294
294
|
|
|
295
295
|
// src/utils/getParser.ts
|
|
296
|
-
|
|
296
|
+
_chunkLKXUCYWUcjs.init_cjs_shims.call(void 0, );
|
|
297
297
|
async function getParser(language) {
|
|
298
298
|
let modulePromise;
|
|
299
299
|
switch (language) {
|
|
@@ -317,4 +317,4 @@ async function getParser(language) {
|
|
|
317
317
|
|
|
318
318
|
|
|
319
319
|
exports.FunctionParams = FunctionParams; exports.isPromise = isPromise; exports.isPromiseFulfilledResult = isPromiseFulfilledResult; exports.isPromiseRejectedResult = isPromiseRejectedResult; exports.renderTemplate = renderTemplate; exports.timeout = timeout; exports.getUniqueName = getUniqueName; exports.setUniqueName = setUniqueName; exports.URLPath = URLPath; exports.getParser = getParser;
|
|
320
|
-
//# sourceMappingURL=chunk-
|
|
320
|
+
//# sourceMappingURL=chunk-OPOT6TCT.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-LA5BJZ2S.cjs","../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts","../src/utils/uniqueName.ts","../src/utils/URLPath.ts","../src/utils/getParser.ts"],"names":["item","_a"],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/core/dist/chunk-LA5BJZ2S.cjs","sourcesContent":[null,"export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport {\n isPromise,\n isPromiseFulfilledResult,\n isPromiseRejectedResult,\n} 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'\nexport { getParser } from './getParser.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/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | 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 static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\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 }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\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","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","import { camelCase } from '../transformers/casing.ts'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\nexport class URLPath {\n path: string\n\n constructor(path: string) {\n this.path = path\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString(replacer),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString(replacer?: (pathParam: string) => string): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, curr) => {\n const pathParam = replacer ? replacer(camelCase(curr)) : camelCase(curr)\n const replacement = `\\${${pathParam}}`\n\n return prev.replace(curr, replacement)\n }, this.path)\n }\n\n return `\\`${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n const pathParam = replacer ? replacer(camelCase(item)) : camelCase(item)\n\n params[pathParam] = pathParam\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n","type ParserModuleTs = typeof import('@kubb/parser-ts')\n\nexport type ParserModule = ParserModuleTs\n\nexport async function getParser(language: string | undefined) {\n let modulePromise: Promise<ParserModule>\n\n switch (language) {\n default:\n modulePromise = import('@kubb/parser-ts')\n break\n }\n\n const module = await modulePromise\n\n return module\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/chunk-OPOT6TCT.cjs","../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts","../src/utils/uniqueName.ts","../src/utils/URLPath.ts","../src/utils/getParser.ts"],"names":["item","_a"],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/core/dist/chunk-OPOT6TCT.cjs","sourcesContent":[null,"export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport {\n isPromise,\n isPromiseFulfilledResult,\n isPromiseRejectedResult,\n} 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'\nexport { getParser } from './getParser.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/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | 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 static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\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 }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\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","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","import { camelCase } from '../transformers/casing.ts'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\nexport class URLPath {\n path: string\n\n constructor(path: string) {\n this.path = path\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString(replacer),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString(replacer?: (pathParam: string) => string): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, curr) => {\n const pathParam = replacer ? replacer(camelCase(curr)) : camelCase(curr)\n const replacement = `\\${${pathParam}}`\n\n return prev.replace(curr, replacement)\n }, this.path)\n }\n\n return `\\`${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n const pathParam = replacer ? replacer(camelCase(item)) : camelCase(item)\n\n params[pathParam] = pathParam\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n","type ParserModuleTs = typeof import('@kubb/parser-ts')\n\nexport type ParserModule = ParserModuleTs\n\nexport async function getParser(language: string | undefined) {\n let modulePromise: Promise<ParserModule>\n\n switch (language) {\n default:\n modulePromise = import('@kubb/parser-ts')\n break\n }\n\n const module = await modulePromise\n\n return module\n}\n"]}
|
|
@@ -459,16 +459,17 @@ async function getSource(file) {
|
|
|
459
459
|
const path2 = item.root ? getRelativePath(item.root, item.path) : item.path;
|
|
460
460
|
return path2 !== trimExtName(file.path);
|
|
461
461
|
}).map((item) => {
|
|
462
|
+
const path2 = item.root ? getRelativePath(item.root, item.path) : item.path;
|
|
462
463
|
return parser.factory.createImportDeclaration({
|
|
463
464
|
name: item.name,
|
|
464
|
-
path: item.
|
|
465
|
+
path: item.extName ? `${path2}${item.extName}` : path2,
|
|
465
466
|
isTypeOnly: item.isTypeOnly
|
|
466
467
|
});
|
|
467
468
|
});
|
|
468
469
|
const exportNodes = exports.map(
|
|
469
470
|
(item) => parser.factory.createExportDeclaration({
|
|
470
471
|
name: item.name,
|
|
471
|
-
path: item.path,
|
|
472
|
+
path: item.extName ? `${item.path}${item.extName}` : item.path,
|
|
472
473
|
isTypeOnly: item.isTypeOnly,
|
|
473
474
|
asAlias: item.asAlias
|
|
474
475
|
})
|
|
@@ -592,4 +593,4 @@ function getEnvSource(source, env) {
|
|
|
592
593
|
export {
|
|
593
594
|
FileManager
|
|
594
595
|
};
|
|
595
|
-
//# sourceMappingURL=chunk-
|
|
596
|
+
//# sourceMappingURL=chunk-SA2GZKXS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/FileManager.ts","../src/BarrelManager.ts","../src/utils/TreeNode.ts"],"sourcesContent":["import crypto from 'node:crypto'\nimport { extname, resolve } from 'node:path'\n\nimport { orderBy } from 'natural-orderby'\nimport PQueue from 'p-queue'\nimport { isDeepEqual } from 'remeda'\n\nimport { getRelativePath, read, write } from '@kubb/fs'\nimport { BarrelManager } from './BarrelManager.ts'\nimport { searchAndReplace } from './transformers/searchAndReplace.ts'\nimport { trimExtName } from './transformers/trim.ts'\n\nimport type * as KubbFile from '@kubb/fs/types'\n\nimport type { BaseName, File, UUID } from '@kubb/fs/src/types.ts'\nimport type { GreaterThan } from '@kubb/types'\nimport type { BarrelManagerOptions } from './BarrelManager.ts'\nimport type { Logger } from './logger.ts'\nimport transformers from './transformers/index.ts'\nimport type { Plugin } from './types.ts'\nimport { getParser } from './utils'\n\nexport type ResolvedFile<TMeta extends FileMetaBase = FileMetaBase, TBaseName extends BaseName = BaseName> = File<TMeta, TBaseName> & {\n /**\n * @default crypto.randomUUID()\n */\n id: UUID\n /**\n * Contains the first part of the baseName, generated based on baseName\n * @link https://nodejs.org/api/path.html#pathformatpathobject\n */\n\n name: string\n}\n\nexport type FileMetaBase = {\n pluginKey?: Plugin['key']\n}\n\ntype FileWithMeta<TMeta extends FileMetaBase = FileMetaBase> = KubbFile.File<TMeta>\n\ntype CacheItem = ResolvedFile & {\n cancel?: () => void\n}\n\ntype AddResult<T extends Array<FileWithMeta>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>\n\ntype AddIndexesProps = {\n /**\n * Root based on root and output.path specified in the config\n */\n root: string\n /**\n * Output for plugin\n */\n output: {\n path: string\n exportAs?: string\n extName?: KubbFile.Extname\n exportType?: 'barrel' | 'barrelNamed' | false\n }\n logger: Logger\n options?: BarrelManagerOptions\n meta?: FileWithMeta['meta']\n}\n\ntype Options = {\n queue?: PQueue\n task?: (file: ResolvedFile) => Promise<ResolvedFile>\n}\n\nexport class FileManager {\n #cache: Map<KubbFile.Path, CacheItem[]> = new Map()\n\n #task: Options['task']\n #queue: PQueue\n\n constructor({ task = async (file) => file, queue = new PQueue() }: Options = {}) {\n this.#task = task\n this.#queue = queue\n\n return this\n }\n\n get files(): Array<FileWithMeta> {\n const files: Array<FileWithMeta> = []\n this.#cache.forEach((item) => {\n files.push(...item.flat(1))\n })\n\n return files\n }\n get isExecuting(): boolean {\n return this.#queue.size !== 0 && this.#queue.pending !== 0\n }\n\n async add<T extends Array<FileWithMeta> = Array<FileWithMeta>>(...files: T): AddResult<T> {\n const promises = combineFiles(files).map((file) => {\n if (file.override) {\n return this.#add(file)\n }\n\n return this.#addOrAppend(file)\n })\n\n const resolvedFiles = await Promise.all(promises)\n\n if (files.length > 1) {\n return resolvedFiles as unknown as AddResult<T>\n }\n\n return resolvedFiles[0] as unknown as AddResult<T>\n }\n\n async #add(file: FileWithMeta): Promise<ResolvedFile> {\n const controller = new AbortController()\n const resolvedFile: ResolvedFile = {\n id: crypto.randomUUID(),\n name: trimExtName(file.baseName),\n ...file,\n }\n\n if (resolvedFile.exports?.length) {\n const folder = resolvedFile.path.replace(resolvedFile.baseName, '')\n\n resolvedFile.exports = resolvedFile.exports.filter((exportItem) => {\n const exportedFile = this.files.find((file) => file.path.includes(resolve(folder, exportItem.path)))\n\n if (exportedFile) {\n return exportedFile.exportable\n }\n\n return true\n })\n }\n\n this.#cache.set(resolvedFile.path, [{ cancel: () => controller.abort(), ...resolvedFile }])\n\n return this.#queue.add(\n async () => {\n return this.#task?.(resolvedFile)\n },\n { signal: controller.signal },\n ) as Promise<ResolvedFile>\n }\n\n async #addOrAppend(file: FileWithMeta): Promise<ResolvedFile> {\n const previousCaches = this.#cache.get(file.path)\n const previousCache = previousCaches ? previousCaches.at(previousCaches.length - 1) : undefined\n\n if (previousCache) {\n this.#cache.delete(previousCache.path)\n\n return this.#add({\n ...file,\n source: previousCache.source && file.source ? `${previousCache.source}\\n${file.source}` : '',\n imports: [...(previousCache.imports || []), ...(file.imports || [])],\n exports: [...(previousCache.exports || []), ...(file.exports || [])],\n env: { ...(previousCache.env || {}), ...(file.env || {}) },\n })\n }\n return this.#add(file)\n }\n\n async addIndexes({ root, output, meta, logger, options = {} }: AddIndexesProps): Promise<void> {\n const { exportType = 'barrel' } = output\n // ^?\n if (exportType === false) {\n return undefined\n }\n\n const pathToBuildFrom = resolve(root, output.path)\n\n if (transformers.trimExtName(pathToBuildFrom).endsWith('index')) {\n logger.emit('warning', 'Output has the same fileName as the barrelFiles, please disable barrel generation')\n return\n }\n\n const exportPath = output.path.startsWith('./') ? trimExtName(output.path) : `./${trimExtName(output.path)}`\n const mode = FileManager.getMode(output.path)\n const barrelManager = new BarrelManager({\n extName: output.extName,\n ...options,\n })\n let files = barrelManager.getIndexes(pathToBuildFrom)\n\n if (!files) {\n return undefined\n }\n\n if (exportType === 'barrelNamed') {\n files = files.map((file) => {\n if (file.exports) {\n return {\n ...file,\n exports: barrelManager.getNamedExports(pathToBuildFrom, file.exports),\n }\n }\n return file\n })\n }\n\n await Promise.all(\n files.map((file) => {\n return this.#addOrAppend({\n ...file,\n meta: meta ? meta : file.meta,\n })\n }),\n )\n\n const rootPath = mode === 'split' ? `${exportPath}/index${output.extName || ''}` : `${exportPath}${output.extName || ''}`\n const rootFile: FileWithMeta = {\n path: resolve(root, 'index.ts'),\n baseName: 'index.ts',\n source: '',\n exports: [\n output.exportAs\n ? {\n name: output.exportAs,\n asAlias: true,\n path: rootPath,\n isTypeOnly: options.isTypeOnly,\n }\n : {\n path: rootPath,\n isTypeOnly: options.isTypeOnly,\n },\n ],\n exportable: true,\n }\n\n if (exportType === 'barrelNamed' && !output.exportAs && rootFile.exports?.[0]) {\n rootFile.exports = barrelManager.getNamedExport(root, rootFile.exports[0])\n }\n\n await this.#addOrAppend({\n ...rootFile,\n meta: meta ? meta : rootFile.meta,\n })\n }\n\n getCacheByUUID(UUID: KubbFile.UUID): FileWithMeta | undefined {\n let cache: FileWithMeta | undefined\n\n this.#cache.forEach((files) => {\n cache = files.find((item) => item.id === UUID)\n })\n return cache\n }\n\n get(path: KubbFile.Path): Array<FileWithMeta> | undefined {\n return this.#cache.get(path)\n }\n\n remove(path: KubbFile.Path): void {\n const cacheItem = this.get(path)\n if (!cacheItem) {\n return\n }\n\n this.#cache.delete(path)\n }\n\n async write(...params: Parameters<typeof write>): Promise<string | undefined> {\n return write(...params)\n }\n\n async read(...params: Parameters<typeof read>): Promise<string> {\n return read(...params)\n }\n\n // statics\n\n static async getSource<TMeta extends FileMetaBase = FileMetaBase>(file: FileWithMeta<TMeta>): Promise<string> {\n return getSource<TMeta>(file)\n }\n\n static combineFiles<TMeta extends FileMetaBase = FileMetaBase>(files: Array<FileWithMeta<TMeta> | null>): Array<FileWithMeta<TMeta>> {\n return combineFiles<TMeta>(files)\n }\n static getMode(path: string | undefined | null): KubbFile.Mode {\n if (!path) {\n return 'split'\n }\n return extname(path) ? 'single' : 'split'\n }\n\n static get extensions(): Array<KubbFile.Extname> {\n return ['.js', '.ts', '.tsx']\n }\n\n static isJavascript(baseName: string): boolean {\n return FileManager.extensions.some((extension) => baseName.endsWith(extension))\n }\n}\n\nfunction combineFiles<TMeta extends FileMetaBase = FileMetaBase>(files: Array<FileWithMeta<TMeta> | null>): Array<FileWithMeta<TMeta>> {\n return files.filter(Boolean).reduce(\n (acc, file: FileWithMeta<TMeta>) => {\n const prevIndex = acc.findIndex((item) => item.path === file.path)\n\n if (prevIndex === -1) {\n return [...acc, file]\n }\n\n const prev = acc[prevIndex]\n\n if (prev && file.override) {\n acc[prevIndex] = {\n imports: [],\n exports: [],\n ...file,\n }\n return acc\n }\n\n if (prev) {\n acc[prevIndex] = {\n ...file,\n source: prev.source && file.source ? `${prev.source}\\n${file.source}` : '',\n imports: [...(prev.imports || []), ...(file.imports || [])],\n exports: [...(prev.exports || []), ...(file.exports || [])],\n env: { ...(prev.env || {}), ...(file.env || {}) },\n }\n }\n\n return acc\n },\n [] as Array<FileWithMeta<TMeta>>,\n )\n}\n\nexport async function getSource<TMeta extends FileMetaBase = FileMetaBase>(file: FileWithMeta<TMeta>): Promise<string> {\n // only use .js, .ts or .tsx files for ESM imports\n\n if (file.language ? !['typescript', 'javascript'].includes(file.language) : !FileManager.isJavascript(file.baseName)) {\n return file.source\n }\n\n const parser = await getParser(file.language)\n\n const exports = file.exports ? combineExports(file.exports) : []\n // imports should be defined and source should contain code or we have imports without them being used\n const imports = file.imports && file.source ? combineImports(file.imports, exports, file.source) : []\n\n const importNodes = imports\n .filter((item) => {\n const path = item.root ? getRelativePath(item.root, item.path) : item.path\n // trim extName\n return path !== trimExtName(file.path)\n })\n .map((item) => {\n const path = item.root ? getRelativePath(item.root, item.path) : item.path\n\n return parser.factory.createImportDeclaration({\n name: item.name,\n path: item.extName ? `${path}${item.extName}` : path,\n isTypeOnly: item.isTypeOnly,\n })\n })\n const exportNodes = exports.map((item) =>\n parser.factory.createExportDeclaration({\n name: item.name,\n path: item.extName ? `${item.path}${item.extName}` : item.path,\n isTypeOnly: item.isTypeOnly,\n asAlias: item.asAlias,\n }),\n )\n\n const source = [parser.print([...importNodes, ...exportNodes]), getEnvSource(file.source, file.env)].join('\\n')\n\n // do some basic linting with the ts compiler\n return parser.print([], { source, noEmitHelpers: false })\n}\n\nexport function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {\n const combinedExports = orderBy(exports, [(v) => !v.isTypeOnly], ['asc']).reduce(\n (prev, curr) => {\n const name = curr.name\n const prevByPath = prev.findLast((imp) => imp.path === curr.path)\n const prevByPathAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (export type ...)\n return prev\n }\n\n const uniquePrev = prev.findLast(\n (imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly && imp.asAlias === curr.asAlias,\n )\n\n if (uniquePrev || (Array.isArray(name) && !name.length) || (prevByPath?.asAlias && !curr.asAlias)) {\n return prev\n }\n\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name: Array.isArray(name) ? [...new Set(name)] : name,\n },\n ]\n }\n\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(curr.name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...curr.name])]\n\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Export>,\n )\n\n return orderBy(combinedExports, [(v) => !v.isTypeOnly, (v) => v.asAlias], ['desc', 'desc'])\n}\n\nexport function combineImports(imports: Array<KubbFile.Import>, exports: Array<KubbFile.Export>, source?: string): Array<KubbFile.Import> {\n const combinedImports = orderBy(imports, [(v) => !v.isTypeOnly], ['asc']).reduce(\n (prev, curr) => {\n let name = Array.isArray(curr.name) ? [...new Set(curr.name)] : curr.name\n\n const hasImportInSource = (importName: string) => {\n if (!source) {\n return true\n }\n\n const checker = (name?: string) => name && !!source.includes(name)\n\n return checker(importName) || exports.some(({ name }) => (Array.isArray(name) ? name.some(checker) : checker(name)))\n }\n\n if (curr.path === curr.root) {\n // root and path are the same file, remove the \"./\" import\n return prev\n }\n\n if (Array.isArray(name)) {\n name = name.filter((item) => (typeof item === 'string' ? hasImportInSource(item) : hasImportInSource(item.propertyName)))\n }\n\n const prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly)\n const uniquePrev = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly)\n const prevByPathNameAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathNameAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (import type ...)\n return prev\n }\n\n if (uniquePrev || (Array.isArray(name) && !name.length)) {\n return prev\n }\n\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name,\n },\n ]\n }\n\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...name])]\n\n return prev\n }\n\n if (!Array.isArray(name) && name && !hasImportInSource(name)) {\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Import>,\n )\n\n return orderBy(combinedImports, [(v) => !v.isTypeOnly], ['desc'])\n}\n\nfunction getEnvSource(source: string, env: NodeJS.ProcessEnv | undefined): string {\n if (!env) {\n return source\n }\n\n const keys = Object.keys(env)\n\n if (!keys.length) {\n return source\n }\n\n return keys.reduce((prev, key: string) => {\n const environmentValue = env[key]\n const replaceBy = environmentValue ? `'${environmentValue.replaceAll('\"', '')?.replaceAll(\"'\", '')}'` : 'undefined'\n\n if (key.toUpperCase() !== key) {\n throw new TypeError(`Environment should be in upperCase for ${key}`)\n }\n\n if (typeof replaceBy === 'string') {\n prev = searchAndReplace({\n text: prev.replaceAll(`process.env.${key}`, replaceBy),\n replaceBy,\n prefix: 'process.env',\n key,\n })\n // removes `declare const ...`\n prev = searchAndReplace({\n text: prev.replaceAll(/(declare const).*\\n/gi, ''),\n replaceBy,\n key,\n })\n }\n\n return prev\n }, source)\n}\n","import { getExports } from '@kubb/parser-ts'\n\nimport path from 'node:path'\n\nimport { trimExtName } from './transformers/trim.ts'\nimport { TreeNode } from './utils/TreeNode.ts'\n\nimport type * as KubbFile from '@kubb/fs/types'\nimport type { DirectoryTreeOptions } from 'directory-tree'\n\nexport type BarrelManagerOptions = {\n treeNode?: DirectoryTreeOptions\n isTypeOnly?: boolean\n /**\n * Add .ts or .js\n */\n extName?: KubbFile.Extname\n}\n\nexport class BarrelManager {\n #options: BarrelManagerOptions\n\n constructor(options: BarrelManagerOptions = {}) {\n this.#options = options\n\n return this\n }\n\n getNamedExport(root: string, item: KubbFile.Export): KubbFile.Export[] {\n const exportedNames = getExports(path.resolve(root, item.path))\n\n if (!exportedNames) {\n return [item]\n }\n\n return exportedNames.reduce(\n (prev, curr) => {\n if (!prev[0]?.name || !prev[1]?.name) {\n return prev\n }\n\n if (curr.isTypeOnly) {\n prev[1] = { ...prev[1], name: [...prev[1].name, curr.name] }\n } else {\n prev[0] = { ...prev[0], name: [...prev[0].name, curr.name] }\n }\n\n return prev\n },\n [\n {\n ...item,\n name: [],\n isTypeOnly: false,\n },\n {\n ...item,\n name: [],\n isTypeOnly: true,\n },\n ] as KubbFile.Export[],\n )\n }\n\n getNamedExports(root: string, exports: KubbFile.Export[]): KubbFile.Export[] {\n return exports?.flatMap((item) => {\n return this.getNamedExport(root, item)\n })\n }\n\n getIndexes(root: string): Array<KubbFile.File> | null {\n const { treeNode = {}, isTypeOnly, extName } = this.#options\n const tree = TreeNode.build(root, treeNode)\n\n if (!tree) {\n return null\n }\n\n const fileReducer = (files: Array<KubbFile.File>, treeNode: TreeNode) => {\n if (!treeNode.children) {\n return []\n }\n\n if (treeNode.children.length > 1) {\n const indexPath: KubbFile.Path = path.resolve(treeNode.data.path, 'index.ts')\n\n const exports: Array<KubbFile.Export> = treeNode.children\n .filter(Boolean)\n .map((file) => {\n const importPath: string = file.data.type === 'split' ? `./${file.data.name}/index` : `./${trimExtName(file.data.name)}`\n\n if (importPath.endsWith('index') && file.data.type === 'single') {\n return undefined\n }\n\n return {\n path: extName ? `${importPath}${extName}` : importPath,\n isTypeOnly,\n } as KubbFile.Export\n })\n .filter(Boolean)\n\n files.push({\n path: indexPath,\n baseName: 'index.ts',\n source: '',\n exports,\n exportable: true,\n })\n } else if (treeNode.children.length === 1) {\n const [treeNodeChild] = treeNode.children as [TreeNode]\n\n const indexPath = path.resolve(treeNode.data.path, 'index.ts')\n const importPath = treeNodeChild.data.type === 'split' ? `./${treeNodeChild.data.name}/index` : `./${trimExtName(treeNodeChild.data.name)}`\n\n const exports = [\n {\n path: extName ? `${importPath}${extName}` : importPath,\n isTypeOnly,\n },\n ]\n\n files.push({\n path: indexPath,\n baseName: 'index.ts',\n source: '',\n exports,\n exportable: true,\n })\n }\n\n treeNode.children.forEach((childItem) => {\n fileReducer(files, childItem)\n })\n\n return files\n }\n\n return fileReducer([], tree).reverse()\n }\n}\n","import dirTree from 'directory-tree'\n\nimport { FileManager } from '../FileManager.ts'\n\nimport type * as KubbFile from '@kubb/fs/types'\nimport type { DirectoryTree, DirectoryTreeOptions } from 'directory-tree'\n\nexport type TreeNodeOptions = DirectoryTreeOptions\n\ntype BarrelData = { type: KubbFile.Mode; path: KubbFile.Path; name: string }\n\nexport class TreeNode<T = BarrelData> {\n public data: T\n\n public parent?: TreeNode<T>\n\n public children: Array<TreeNode<T>> = []\n\n constructor(data: T, parent?: TreeNode<T>) {\n this.data = data\n this.parent = parent\n return this\n }\n\n addChild(data: T): TreeNode<T> {\n const child = new TreeNode(data, this)\n if (!this.children) {\n this.children = []\n }\n this.children.push(child)\n return child\n }\n\n find(data?: T): TreeNode<T> | null {\n if (!data) {\n return null\n }\n\n if (data === this.data) {\n return this\n }\n\n if (this.children?.length) {\n for (let i = 0, { length } = this.children, target: TreeNode<T> | null = null; i < length; i++) {\n target = this.children[i]!.find(data)\n if (target) {\n return target\n }\n }\n }\n\n return null\n }\n\n get leaves(): TreeNode<T>[] {\n if (!this.children || this.children.length === 0) {\n // this is a leaf\n return [this]\n }\n\n // if not a leaf, return all children's leaves recursively\n const leaves: TreeNode<T>[] = []\n if (this.children) {\n for (let i = 0, { length } = this.children; i < length; i++) {\n leaves.push.apply(leaves, this.children[i]!.leaves)\n }\n }\n return leaves\n }\n\n get root(): TreeNode<T> {\n if (!this.parent) {\n return this\n }\n return this.parent.root\n }\n\n forEach(callback: (treeNode: TreeNode<T>) => void): this {\n if (typeof callback !== 'function') {\n throw new TypeError('forEach() callback must be a function')\n }\n\n // run this node through function\n callback(this)\n\n // do the same for all children\n if (this.children) {\n for (let i = 0, { length } = this.children; i < length; i++) {\n this.children[i]?.forEach(callback)\n }\n }\n\n return this\n }\n\n public static build(path: string, options: TreeNodeOptions = {}): TreeNode | null {\n try {\n const exclude = Array.isArray(options.exclude) ? options.exclude : [options.exclude].filter(Boolean)\n const filteredTree = dirTree(path, {\n extensions: options.extensions,\n exclude: [/node_modules/, ...exclude],\n })\n\n if (!filteredTree) {\n return null\n }\n\n const treeNode = new TreeNode({\n name: filteredTree.name,\n path: filteredTree.path,\n type: FileManager.getMode(filteredTree.path),\n })\n\n const recurse = (node: typeof treeNode, item: DirectoryTree) => {\n const subNode = node.addChild({\n name: item.name,\n path: item.path,\n type: FileManager.getMode(item.path),\n })\n\n if (item.children?.length) {\n item.children?.forEach((child) => {\n recurse(subNode, child)\n })\n }\n }\n\n filteredTree.children?.forEach((child) => recurse(treeNode, child))\n\n return treeNode\n } catch (e) {\n throw new Error('Something went wrong with creating index files with the TreehNode class', { cause: e })\n }\n }\n}\n"],"mappings":"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","names":["path","treeNode","path","file","name"]}
|