@kubb/core 3.4.4 → 3.5.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/{FileManager-BXCK_2OY.d.ts → FileManager-B-1XWq6Q.d.ts} +3 -3
- package/dist/{FileManager-CODtuwOW.d.cts → FileManager-BEP6uN5W.d.cts} +3 -3
- package/dist/{chunk-6ZGRP6P7.cjs → chunk-EECPIRGL.cjs} +99 -132
- package/dist/chunk-EECPIRGL.cjs.map +1 -0
- package/dist/{chunk-IZ2EOWIL.cjs → chunk-LVELAYV4.cjs} +4 -4
- package/dist/{chunk-IZ2EOWIL.cjs.map → chunk-LVELAYV4.cjs.map} +1 -1
- package/dist/{chunk-A5REIQVX.cjs → chunk-MYLU2IFI.cjs} +35 -35
- package/dist/{chunk-A5REIQVX.cjs.map → chunk-MYLU2IFI.cjs.map} +1 -1
- package/dist/{chunk-MDXPT7LL.js → chunk-O5ASNFB7.js} +7 -21
- package/dist/chunk-O5ASNFB7.js.map +1 -0
- package/dist/{chunk-4ZMRID7I.cjs → chunk-OQSYTQLS.cjs} +10 -10
- package/dist/{chunk-4ZMRID7I.cjs.map → chunk-OQSYTQLS.cjs.map} +1 -1
- package/dist/{chunk-P4ATJPSP.cjs → chunk-S3IJRQEO.cjs} +8 -8
- package/dist/{chunk-P4ATJPSP.cjs.map → chunk-S3IJRQEO.cjs.map} +1 -1
- package/dist/{chunk-7MZNPFPN.js → chunk-YYMV5PIX.js} +3 -3
- package/dist/{chunk-7MZNPFPN.js.map → chunk-YYMV5PIX.js.map} +1 -1
- package/dist/index.cjs +35 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/logger.cjs +7 -7
- package/dist/mocks.cjs +9 -9
- package/dist/mocks.d.cts +1 -1
- package/dist/mocks.d.ts +1 -1
- package/dist/mocks.js +2 -2
- package/dist/{prompt-ZJNX5QEM.cjs → prompt-CV2GMUO3.cjs} +61 -61
- package/dist/{prompt-ZJNX5QEM.cjs.map → prompt-CV2GMUO3.cjs.map} +1 -1
- package/dist/transformers.cjs +22 -26
- package/dist/transformers.d.cts +1 -3
- package/dist/transformers.d.ts +1 -3
- package/dist/transformers.js +1 -1
- package/dist/utils.cjs +17 -17
- package/dist/utils.js +2 -2
- package/package.json +8 -8
- package/src/build.ts +1 -1
- package/src/transformers/casing.ts +3 -18
- package/src/transformers/index.ts +2 -3
- package/src/types.ts +3 -3
- package/dist/chunk-6ZGRP6P7.cjs.map +0 -1
- package/dist/chunk-MDXPT7LL.js.map +0 -1
package/dist/transformers.cjs
CHANGED
|
@@ -2,94 +2,90 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('./chunk-
|
|
5
|
+
var chunkEECPIRGL_cjs = require('./chunk-EECPIRGL.cjs');
|
|
6
|
+
require('./chunk-LVELAYV4.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "camelCase", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return chunkEECPIRGL_cjs.camelCase; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "combineCodes", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunkEECPIRGL_cjs.combineCodes; }
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "createIndent", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunkEECPIRGL_cjs.createIndent; }
|
|
21
21
|
});
|
|
22
22
|
Object.defineProperty(exports, "createJSDocBlockText", {
|
|
23
23
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
24
|
+
get: function () { return chunkEECPIRGL_cjs.createJSDocBlockText; }
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "default", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
28
|
+
get: function () { return chunkEECPIRGL_cjs.transformers_default; }
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "escape", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
32
|
+
get: function () { return chunkEECPIRGL_cjs.escape; }
|
|
33
33
|
});
|
|
34
34
|
Object.defineProperty(exports, "isValidVarName", {
|
|
35
35
|
enumerable: true,
|
|
36
|
-
get: function () { return
|
|
36
|
+
get: function () { return chunkEECPIRGL_cjs.isValidVarName; }
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "jsStringEscape", {
|
|
39
39
|
enumerable: true,
|
|
40
|
-
get: function () { return
|
|
40
|
+
get: function () { return chunkEECPIRGL_cjs.jsStringEscape; }
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "merge", {
|
|
43
43
|
enumerable: true,
|
|
44
|
-
get: function () { return
|
|
44
|
+
get: function () { return chunkEECPIRGL_cjs.merge; }
|
|
45
45
|
});
|
|
46
46
|
Object.defineProperty(exports, "nameSorter", {
|
|
47
47
|
enumerable: true,
|
|
48
|
-
get: function () { return
|
|
48
|
+
get: function () { return chunkEECPIRGL_cjs.nameSorter; }
|
|
49
49
|
});
|
|
50
50
|
Object.defineProperty(exports, "orderBy", {
|
|
51
51
|
enumerable: true,
|
|
52
|
-
get: function () { return
|
|
52
|
+
get: function () { return chunkEECPIRGL_cjs.orderBy; }
|
|
53
53
|
});
|
|
54
54
|
Object.defineProperty(exports, "pascalCase", {
|
|
55
55
|
enumerable: true,
|
|
56
|
-
get: function () { return
|
|
57
|
-
});
|
|
58
|
-
Object.defineProperty(exports, "pathCase", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
get: function () { return chunk6ZGRP6P7_cjs.pathCase; }
|
|
56
|
+
get: function () { return chunkEECPIRGL_cjs.pascalCase; }
|
|
61
57
|
});
|
|
62
58
|
Object.defineProperty(exports, "searchAndReplace", {
|
|
63
59
|
enumerable: true,
|
|
64
|
-
get: function () { return
|
|
60
|
+
get: function () { return chunkEECPIRGL_cjs.searchAndReplace; }
|
|
65
61
|
});
|
|
66
62
|
Object.defineProperty(exports, "stringify", {
|
|
67
63
|
enumerable: true,
|
|
68
|
-
get: function () { return
|
|
64
|
+
get: function () { return chunkEECPIRGL_cjs.stringify; }
|
|
69
65
|
});
|
|
70
66
|
Object.defineProperty(exports, "stringifyObject", {
|
|
71
67
|
enumerable: true,
|
|
72
|
-
get: function () { return
|
|
68
|
+
get: function () { return chunkEECPIRGL_cjs.stringifyObject; }
|
|
73
69
|
});
|
|
74
70
|
Object.defineProperty(exports, "toRegExp", {
|
|
75
71
|
enumerable: true,
|
|
76
|
-
get: function () { return
|
|
72
|
+
get: function () { return chunkEECPIRGL_cjs.toRegExp; }
|
|
77
73
|
});
|
|
78
74
|
Object.defineProperty(exports, "toRegExpString", {
|
|
79
75
|
enumerable: true,
|
|
80
|
-
get: function () { return
|
|
76
|
+
get: function () { return chunkEECPIRGL_cjs.toRegExpString; }
|
|
81
77
|
});
|
|
82
78
|
Object.defineProperty(exports, "transformReservedWord", {
|
|
83
79
|
enumerable: true,
|
|
84
|
-
get: function () { return
|
|
80
|
+
get: function () { return chunkEECPIRGL_cjs.transformReservedWord; }
|
|
85
81
|
});
|
|
86
82
|
Object.defineProperty(exports, "trim", {
|
|
87
83
|
enumerable: true,
|
|
88
|
-
get: function () { return
|
|
84
|
+
get: function () { return chunkEECPIRGL_cjs.trim; }
|
|
89
85
|
});
|
|
90
86
|
Object.defineProperty(exports, "trimQuotes", {
|
|
91
87
|
enumerable: true,
|
|
92
|
-
get: function () { return
|
|
88
|
+
get: function () { return chunkEECPIRGL_cjs.trimQuotes; }
|
|
93
89
|
});
|
|
94
90
|
//# sourceMappingURL=transformers.cjs.map
|
|
95
91
|
//# sourceMappingURL=transformers.cjs.map
|
package/dist/transformers.d.cts
CHANGED
|
@@ -13,7 +13,6 @@ type Options$1 = {
|
|
|
13
13
|
};
|
|
14
14
|
declare function camelCase(text: string, { isFile, prefix, suffix }?: Options$1): string;
|
|
15
15
|
declare function pascalCase(text: string, { isFile, prefix, suffix }?: Options$1): string;
|
|
16
|
-
declare function pathCase(text: string, { isFile, prefix, suffix }?: Options$1): string;
|
|
17
16
|
|
|
18
17
|
declare function combineCodes(codes: string[]): string;
|
|
19
18
|
|
|
@@ -81,7 +80,6 @@ declare const _default: {
|
|
|
81
80
|
readonly merge: typeof merge;
|
|
82
81
|
readonly camelCase: typeof camelCase;
|
|
83
82
|
readonly pascalCase: typeof pascalCase;
|
|
84
|
-
readonly pathCase: typeof pathCase;
|
|
85
83
|
};
|
|
86
84
|
|
|
87
|
-
export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, isValidVarName, jsStringEscape, nameSorter, pascalCase,
|
|
85
|
+
export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, isValidVarName, jsStringEscape, nameSorter, pascalCase, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, transformReservedWord, trim, trimQuotes };
|
package/dist/transformers.d.ts
CHANGED
|
@@ -13,7 +13,6 @@ type Options$1 = {
|
|
|
13
13
|
};
|
|
14
14
|
declare function camelCase(text: string, { isFile, prefix, suffix }?: Options$1): string;
|
|
15
15
|
declare function pascalCase(text: string, { isFile, prefix, suffix }?: Options$1): string;
|
|
16
|
-
declare function pathCase(text: string, { isFile, prefix, suffix }?: Options$1): string;
|
|
17
16
|
|
|
18
17
|
declare function combineCodes(codes: string[]): string;
|
|
19
18
|
|
|
@@ -81,7 +80,6 @@ declare const _default: {
|
|
|
81
80
|
readonly merge: typeof merge;
|
|
82
81
|
readonly camelCase: typeof camelCase;
|
|
83
82
|
readonly pascalCase: typeof pascalCase;
|
|
84
|
-
readonly pathCase: typeof pathCase;
|
|
85
83
|
};
|
|
86
84
|
|
|
87
|
-
export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, isValidVarName, jsStringEscape, nameSorter, pascalCase,
|
|
85
|
+
export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, isValidVarName, jsStringEscape, nameSorter, pascalCase, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, transformReservedWord, trim, trimQuotes };
|
package/dist/transformers.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { camelCase, combineCodes, createIndent, createJSDocBlockText, transformers_default as default, escape, isValidVarName, jsStringEscape, merge, nameSorter, orderBy, pascalCase,
|
|
1
|
+
export { camelCase, combineCodes, createIndent, createJSDocBlockText, transformers_default as default, escape, isValidVarName, jsStringEscape, merge, nameSorter, orderBy, pascalCase, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, transformReservedWord, trim, trimQuotes } from './chunk-O5ASNFB7.js';
|
|
2
2
|
//# sourceMappingURL=transformers.js.map
|
|
3
3
|
//# sourceMappingURL=transformers.js.map
|
package/dist/utils.cjs
CHANGED
|
@@ -1,66 +1,66 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
3
|
+
var chunkMYLU2IFI_cjs = require('./chunk-MYLU2IFI.cjs');
|
|
4
|
+
require('./chunk-EECPIRGL.cjs');
|
|
5
|
+
require('./chunk-LVELAYV4.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "FunctionParams", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkMYLU2IFI_cjs.FunctionParams; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "URLPath", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkMYLU2IFI_cjs.URLPath; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "createFile", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkMYLU2IFI_cjs.createFile; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "createFileExport", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkMYLU2IFI_cjs.createFileExport; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "createFileImport", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return chunkMYLU2IFI_cjs.createFileImport; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "createFileParser", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return chunkMYLU2IFI_cjs.createFileParser; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "getFileParser", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return chunkMYLU2IFI_cjs.getFileParser; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "getUniqueName", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return chunkMYLU2IFI_cjs.getUniqueName; }
|
|
40
40
|
});
|
|
41
41
|
Object.defineProperty(exports, "isPromise", {
|
|
42
42
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
43
|
+
get: function () { return chunkMYLU2IFI_cjs.isPromise; }
|
|
44
44
|
});
|
|
45
45
|
Object.defineProperty(exports, "isPromiseFulfilledResult", {
|
|
46
46
|
enumerable: true,
|
|
47
|
-
get: function () { return
|
|
47
|
+
get: function () { return chunkMYLU2IFI_cjs.isPromiseFulfilledResult; }
|
|
48
48
|
});
|
|
49
49
|
Object.defineProperty(exports, "isPromiseRejectedResult", {
|
|
50
50
|
enumerable: true,
|
|
51
|
-
get: function () { return
|
|
51
|
+
get: function () { return chunkMYLU2IFI_cjs.isPromiseRejectedResult; }
|
|
52
52
|
});
|
|
53
53
|
Object.defineProperty(exports, "renderTemplate", {
|
|
54
54
|
enumerable: true,
|
|
55
|
-
get: function () { return
|
|
55
|
+
get: function () { return chunkMYLU2IFI_cjs.renderTemplate; }
|
|
56
56
|
});
|
|
57
57
|
Object.defineProperty(exports, "setUniqueName", {
|
|
58
58
|
enumerable: true,
|
|
59
|
-
get: function () { return
|
|
59
|
+
get: function () { return chunkMYLU2IFI_cjs.setUniqueName; }
|
|
60
60
|
});
|
|
61
61
|
Object.defineProperty(exports, "timeout", {
|
|
62
62
|
enumerable: true,
|
|
63
|
-
get: function () { return
|
|
63
|
+
get: function () { return chunkMYLU2IFI_cjs.timeout; }
|
|
64
64
|
});
|
|
65
65
|
//# sourceMappingURL=utils.cjs.map
|
|
66
66
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/utils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout } from './chunk-YYMV5PIX.js';
|
|
2
|
+
import './chunk-O5ASNFB7.js';
|
|
3
3
|
//# sourceMappingURL=utils.js.map
|
|
4
4
|
//# sourceMappingURL=utils.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"description": "Generator core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"!/**/__tests__/**"
|
|
76
76
|
],
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"
|
|
78
|
+
"camelcase": "^8.0.0",
|
|
79
79
|
"find-up": "^7.0.0",
|
|
80
80
|
"natural-orderby": "^5.0.0",
|
|
81
81
|
"object-hash": "^3.0.0",
|
|
@@ -83,9 +83,9 @@
|
|
|
83
83
|
"remeda": "^2.19.0",
|
|
84
84
|
"seedrandom": "^3.0.5",
|
|
85
85
|
"semver": "^7.6.3",
|
|
86
|
-
"@kubb/fs": "3.
|
|
87
|
-
"@kubb/parser-ts": "3.
|
|
88
|
-
"@kubb/types": "3.
|
|
86
|
+
"@kubb/fs": "3.5.0",
|
|
87
|
+
"@kubb/parser-ts": "3.5.0",
|
|
88
|
+
"@kubb/types": "3.5.0"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
91
|
"@types/object-hash": "^3.0.6",
|
|
@@ -95,9 +95,9 @@
|
|
|
95
95
|
"prettier": "^3.4.2",
|
|
96
96
|
"tinyrainbow": "^1.2.0",
|
|
97
97
|
"tsup": "^8.3.5",
|
|
98
|
-
"typescript": "^5.7.
|
|
99
|
-
"@kubb/config-ts": "3.
|
|
100
|
-
"@kubb/config-tsup": "3.
|
|
98
|
+
"typescript": "^5.7.3",
|
|
99
|
+
"@kubb/config-ts": "3.5.0",
|
|
100
|
+
"@kubb/config-tsup": "3.5.0"
|
|
101
101
|
},
|
|
102
102
|
"engines": {
|
|
103
103
|
"node": ">=20"
|
package/src/build.ts
CHANGED
|
@@ -109,7 +109,7 @@ export async function safeBuild(options: BuildOptions): Promise<BuildOutput> {
|
|
|
109
109
|
const meta = file.meta as any
|
|
110
110
|
return item.key === meta?.pluginKey
|
|
111
111
|
})
|
|
112
|
-
const pluginOptions = plugin?.options as { output?: Output }
|
|
112
|
+
const pluginOptions = plugin?.options as { output?: Output<any> }
|
|
113
113
|
|
|
114
114
|
if (!pluginOptions || pluginOptions?.output?.barrelType === false) {
|
|
115
115
|
return undefined
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _camelcase from 'camelcase'
|
|
2
2
|
|
|
3
3
|
type Options = {
|
|
4
4
|
/**
|
|
@@ -15,10 +15,7 @@ export function camelCase(text: string, { isFile, prefix = '', suffix = '' }: Op
|
|
|
15
15
|
return splitArray.map((item, i) => (i === splitArray.length - 1 ? camelCase(item, { prefix, suffix }) : camelCase(item))).join('/')
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
return
|
|
19
|
-
delimiter: '',
|
|
20
|
-
mergeAmbiguousCharacters: true,
|
|
21
|
-
})
|
|
18
|
+
return _camelcase(`${prefix} ${text} ${suffix}`, { pascalCase: false, preserveConsecutiveUppercase: true }).replace(/[^a-zA-Z0-9]/g, '')
|
|
22
19
|
}
|
|
23
20
|
|
|
24
21
|
export function pascalCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {
|
|
@@ -27,17 +24,5 @@ export function pascalCase(text: string, { isFile, prefix = '', suffix = '' }: O
|
|
|
27
24
|
return splitArray.map((item, i) => (i === splitArray.length - 1 ? pascalCase(item, { prefix, suffix }) : camelCase(item))).join('/')
|
|
28
25
|
}
|
|
29
26
|
|
|
30
|
-
return
|
|
31
|
-
delimiter: '',
|
|
32
|
-
mergeAmbiguousCharacters: true,
|
|
33
|
-
})
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function pathCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {
|
|
37
|
-
if (isFile) {
|
|
38
|
-
const splitArray = text.split('.')
|
|
39
|
-
return splitArray.map((item, i) => (i === splitArray.length - 1 ? pathCase(item, { prefix, suffix }) : camelCase(item))).join('/')
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return changePathCase(`${prefix} ${text} ${suffix}`, { delimiter: '' })
|
|
27
|
+
return _camelcase(`${prefix} ${text} ${suffix}`, { pascalCase: true, preserveConsecutiveUppercase: true }).replace(/[^a-zA-Z0-9]/g, '')
|
|
43
28
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { orderBy } from 'natural-orderby'
|
|
2
2
|
import { merge } from 'remeda'
|
|
3
3
|
|
|
4
|
-
import { camelCase, pascalCase
|
|
4
|
+
import { camelCase, pascalCase } from './casing.ts'
|
|
5
5
|
import { combineCodes } from './combineCodes.ts'
|
|
6
6
|
import { createJSDocBlockText } from './createJSDocBlockText.ts'
|
|
7
7
|
import { escape, jsStringEscape } from './escape.ts'
|
|
@@ -13,7 +13,7 @@ import { toRegExp, toRegExpString } from './toRegExp.ts'
|
|
|
13
13
|
import { isValidVarName, transformReservedWord } from './transformReservedWord.ts'
|
|
14
14
|
import { trim, trimQuotes } from './trim.ts'
|
|
15
15
|
|
|
16
|
-
export { camelCase, pascalCase
|
|
16
|
+
export { camelCase, pascalCase } from './casing.ts'
|
|
17
17
|
export { combineCodes } from './combineCodes.ts'
|
|
18
18
|
export { createJSDocBlockText } from './createJSDocBlockText.ts'
|
|
19
19
|
export { escape, jsStringEscape } from './escape.ts'
|
|
@@ -49,5 +49,4 @@ export default {
|
|
|
49
49
|
merge,
|
|
50
50
|
camelCase,
|
|
51
51
|
pascalCase,
|
|
52
|
-
pathCase,
|
|
53
52
|
} as const
|
package/src/types.ts
CHANGED
|
@@ -291,7 +291,7 @@ export type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryO
|
|
|
291
291
|
/**
|
|
292
292
|
* Specify the export location for the files and define the behavior of the output
|
|
293
293
|
*/
|
|
294
|
-
export type Output = {
|
|
294
|
+
export type Output<TOptions> = {
|
|
295
295
|
/**
|
|
296
296
|
* Path to the output folder or file that will contain the generated code
|
|
297
297
|
*/
|
|
@@ -304,11 +304,11 @@ export type Output = {
|
|
|
304
304
|
/**
|
|
305
305
|
* Add a banner text in the beginning of every file
|
|
306
306
|
*/
|
|
307
|
-
banner?: string
|
|
307
|
+
banner?: string | ((options: TOptions) => string)
|
|
308
308
|
/**
|
|
309
309
|
* Add a footer text in the beginning of every file
|
|
310
310
|
*/
|
|
311
|
-
footer?: string
|
|
311
|
+
footer?: string | ((options: TOptions) => string)
|
|
312
312
|
}
|
|
313
313
|
|
|
314
314
|
type GroupContext = {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/transformers/index.ts","../../../node_modules/.pnpm/natural-orderby@5.0.0/node_modules/natural-orderby/dist/index.js","../src/transformers/casing.ts","../../../node_modules/.pnpm/change-case@5.4.4/node_modules/change-case/src/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":["init_cjs_shims","compareNumbers","compareUnicode","stringCompare","compareChunks","compareOtherTypes","compareValues","normalizeAlphaChunk","parseNumber","normalizeNumericChunk","createChunkMap","createChunks","createChunkMaps","isFunction","isNaN","isNull","isObject","isSymbol","isUndefined","parseDate","numberify","stringify","getMappedValueRecord","compareMultiple","createIdentifierFn","getElementByIndex","getValueByIdentifier","baseOrderBy","getIdentifiers","getOrders","camelCase","pascalCase","pathCase","value","merge"],"mappings":"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","file":"chunk-6ZGRP6P7.cjs","sourcesContent":["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 { isValidVarName, 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, isValidVarName } 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 isValidVarName,\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","/**\n * natural-orderby v5.0.0\n *\n * Copyright (c) Olaf Ennen\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nvar compareNumbers = function compareNumbers(numberA, numberB) {\n if (numberA < numberB) {\n return -1;\n }\n if (numberA > numberB) {\n return 1;\n }\n return 0;\n};\n\nvar compareUnicode = function compareUnicode(stringA, stringB, locale) {\n var result = stringA.localeCompare(stringB, locale);\n return result ? result / Math.abs(result) : 0;\n};\n\nvar RE_NUMBERS = /(^0x[\\da-fA-F]+$|^([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?!\\.\\d+)(?=\\D|\\s|$))|\\d+)/g;\nvar RE_LEADING_OR_TRAILING_WHITESPACES = /^\\s+|\\s+$/g; // trim pre-post whitespace\nvar RE_WHITESPACES = /\\s+/g; // normalize all whitespace to single ' ' character\nvar RE_INT_OR_FLOAT = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?$/; // identify integers and floats\nvar RE_DATE = /(^([\\w ]+,?[\\w ]+)?[\\w ]+,?[\\w ]+\\d+:\\d+(:\\d+)?[\\w ]?|^\\d{1,4}[/-]\\d{1,4}[/-]\\d{1,4}|^\\w+, \\w+ \\d+, \\d{4})/; // identify date strings\nvar RE_LEADING_ZERO = /^0+[1-9]{1}[0-9]*$/;\n// eslint-disable-next-line no-control-regex\nvar RE_UNICODE_CHARACTERS = /[^\\x00-\\x80]/;\n\nvar stringCompare = function stringCompare(stringA, stringB) {\n if (stringA < stringB) {\n return -1;\n }\n if (stringA > stringB) {\n return 1;\n }\n return 0;\n};\n\nvar compareChunks = function compareChunks(chunksA, chunksB, locale) {\n var lengthA = chunksA.length;\n var lengthB = chunksB.length;\n var size = Math.min(lengthA, lengthB);\n for (var i = 0; i < size; i++) {\n var chunkA = chunksA[i];\n var chunkB = chunksB[i];\n if (chunkA.normalizedString !== chunkB.normalizedString) {\n if (chunkA.normalizedString === '' !== (chunkB.normalizedString === '')) {\n // empty strings have lowest value\n return chunkA.normalizedString === '' ? -1 : 1;\n }\n if (chunkA.parsedNumber !== undefined && chunkB.parsedNumber !== undefined) {\n // compare numbers\n var result = compareNumbers(chunkA.parsedNumber, chunkB.parsedNumber);\n if (result === 0) {\n // compare string value, if parsed numbers are equal\n // Example:\n // chunkA = { parsedNumber: 1, normalizedString: \"001\" }\n // chunkB = { parsedNumber: 1, normalizedString: \"01\" }\n // chunkA.parsedNumber === chunkB.parsedNumber\n // chunkA.normalizedString < chunkB.normalizedString\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n return result;\n } else if (chunkA.parsedNumber !== undefined || chunkB.parsedNumber !== undefined) {\n // number < string\n return chunkA.parsedNumber !== undefined ? -1 : 1;\n } else if (RE_UNICODE_CHARACTERS.test(chunkA.normalizedString + chunkB.normalizedString)) {\n // use locale comparison only if one of the chunks contains unicode characters\n return compareUnicode(chunkA.normalizedString, chunkB.normalizedString, locale);\n } else {\n // use common string comparison for performance reason\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n }\n }\n // if the chunks are equal so far, the one which has more chunks is greater than the other one\n if (lengthA > size || lengthB > size) {\n return lengthA <= size ? -1 : 1;\n }\n return 0;\n};\n\nvar compareOtherTypes = function compareOtherTypes(valueA, valueB) {\n if (!valueA.chunks ? valueB.chunks : !valueB.chunks) {\n return !valueA.chunks ? 1 : -1;\n }\n if (valueA.isNaN ? !valueB.isNaN : valueB.isNaN) {\n return valueA.isNaN ? -1 : 1;\n }\n if (valueA.isSymbol ? !valueB.isSymbol : valueB.isSymbol) {\n return valueA.isSymbol ? -1 : 1;\n }\n if (valueA.isObject ? !valueB.isObject : valueB.isObject) {\n return valueA.isObject ? -1 : 1;\n }\n if (valueA.isArray ? !valueB.isArray : valueB.isArray) {\n return valueA.isArray ? -1 : 1;\n }\n if (valueA.isFunction ? !valueB.isFunction : valueB.isFunction) {\n return valueA.isFunction ? -1 : 1;\n }\n if (valueA.isNull ? !valueB.isNull : valueB.isNull) {\n return valueA.isNull ? -1 : 1;\n }\n return 0;\n};\n\nvar compareValues = function compareValues(valueA, valueB, locale) {\n if (valueA.value === valueB.value) {\n return 0;\n }\n if (valueA.parsedNumber !== undefined && valueB.parsedNumber !== undefined) {\n return compareNumbers(valueA.parsedNumber, valueB.parsedNumber);\n }\n if (valueA.chunks && valueB.chunks) {\n return compareChunks(valueA.chunks, valueB.chunks, locale);\n }\n return compareOtherTypes(valueA, valueB);\n};\n\nvar normalizeAlphaChunk = function normalizeAlphaChunk(chunk) {\n return chunk.replace(RE_WHITESPACES, ' ').replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n};\n\nvar parseNumber = function parseNumber(value) {\n if (value.length !== 0) {\n var parsedNumber = Number(value.replace(/_/g, ''));\n if (!Number.isNaN(parsedNumber)) {\n return parsedNumber;\n }\n }\n return undefined;\n};\n\nvar normalizeNumericChunk = function normalizeNumericChunk(chunk, index, chunks) {\n if (RE_INT_OR_FLOAT.test(chunk)) {\n // don´t parse a number, if there´s a preceding decimal point\n // to keep significance\n // e.g. 1.0020, 1.020\n if (!RE_LEADING_ZERO.test(chunk) || index === 0 || chunks[index - 1] !== '.') {\n return parseNumber(chunk) || 0;\n }\n }\n return undefined;\n};\n\nvar createChunkMap = function createChunkMap(chunk, index, chunks) {\n return {\n parsedNumber: normalizeNumericChunk(chunk, index, chunks),\n normalizedString: normalizeAlphaChunk(chunk)\n };\n};\n\nvar createChunks = function createChunks(value) {\n return value.replace(RE_NUMBERS, '\\0$1\\0').replace(/\\0$/, '').replace(/^\\0/, '').split('\\0');\n};\n\nvar createChunkMaps = function createChunkMaps(value) {\n var chunksMaps = createChunks(value).map(createChunkMap);\n return chunksMaps;\n};\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n\nvar isNaN = function isNaN(value) {\n return Number.isNaN(value) || value instanceof Number && Number.isNaN(value.valueOf());\n};\n\nvar isNull = function isNull(value) {\n return value === null;\n};\n\nvar isObject = function isObject(value) {\n return value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Number) && !(value instanceof String) && !(value instanceof Boolean) && !(value instanceof Date);\n};\n\nvar isSymbol = function isSymbol(value) {\n return typeof value === 'symbol';\n};\n\nvar isUndefined = function isUndefined(value) {\n return value === undefined;\n};\n\nvar parseDate = function parseDate(value) {\n try {\n var parsedDate = Date.parse(value);\n if (!Number.isNaN(parsedDate)) {\n if (RE_DATE.test(value)) {\n return parsedDate;\n }\n }\n return undefined;\n } catch (_unused) {\n return undefined;\n }\n};\n\nvar numberify = function numberify(value) {\n var parsedNumber = parseNumber(value);\n if (parsedNumber !== undefined) {\n return parsedNumber;\n }\n return parseDate(value);\n};\n\nvar stringify = function stringify(value) {\n if (typeof value === 'boolean' || value instanceof Boolean) {\n return Number(value).toString();\n }\n if (typeof value === 'number' || value instanceof Number) {\n return value.toString();\n }\n if (value instanceof Date) {\n return value.getTime().toString();\n }\n if (typeof value === 'string' || value instanceof String) {\n return value.toLowerCase().replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n }\n return '';\n};\n\nvar getMappedValueRecord = function getMappedValueRecord(value) {\n if (typeof value === 'string' || value instanceof String || (typeof value === 'number' || value instanceof Number) && !isNaN(value) || typeof value === 'boolean' || value instanceof Boolean || value instanceof Date) {\n var stringValue = stringify(value);\n var parsedNumber = numberify(stringValue);\n var chunks = createChunkMaps(parsedNumber ? \"\" + parsedNumber : stringValue);\n return {\n parsedNumber: parsedNumber,\n chunks: chunks,\n value: value\n };\n }\n return {\n isArray: Array.isArray(value),\n isFunction: isFunction(value),\n isNaN: isNaN(value),\n isNull: isNull(value),\n isObject: isObject(value),\n isSymbol: isSymbol(value),\n isUndefined: isUndefined(value),\n value: value\n };\n};\n\nvar baseCompare = function baseCompare(options) {\n return function (valueA, valueB) {\n var a = getMappedValueRecord(valueA);\n var b = getMappedValueRecord(valueB);\n var result = compareValues(a, b, options.locale);\n return result * (options.order === 'desc' ? -1 : 1);\n };\n};\n\nvar isValidOrder = function isValidOrder(value) {\n return typeof value === 'string' && (value === 'asc' || value === 'desc');\n};\nvar getOptions = function getOptions(customOptions) {\n var order = 'asc';\n var locale; // = 'en';\n if (typeof customOptions === 'string' && isValidOrder(customOptions)) {\n order = customOptions;\n } else if (customOptions && typeof customOptions === 'object') {\n if (customOptions.order && isValidOrder(customOptions.order)) {\n order = customOptions.order;\n }\n if (customOptions.locale && customOptions.locale.length > 0) {\n locale = customOptions.locale;\n }\n }\n return {\n order: order,\n locale: locale\n };\n};\n\n/**\n * Creates a compare function that defines the natural sort order considering\n * the given `options` which may be passed to [`Array.prototype.sort()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort).\n */\nfunction compare(options) {\n var validatedOptions = getOptions(options);\n return baseCompare(validatedOptions);\n}\n\nvar compareMultiple = function compareMultiple(recordA, recordB, orders, locale) {\n var indexA = recordA.index,\n valuesA = recordA.values;\n var indexB = recordB.index,\n valuesB = recordB.values;\n var length = valuesA.length;\n var ordersLength = orders.length;\n for (var i = 0; i < length; i++) {\n var order = i < ordersLength ? orders[i] : null;\n if (order && typeof order === 'function') {\n var result = order(valuesA[i].value, valuesB[i].value);\n if (result) {\n return result;\n }\n } else {\n var _result = compareValues(valuesA[i], valuesB[i], locale);\n if (_result) {\n return _result * (order === 'desc' ? -1 : 1);\n }\n }\n }\n return indexA - indexB;\n};\n\nvar createIdentifierFn = function createIdentifierFn(identifier) {\n if (typeof identifier === 'function') {\n // identifier is already a lookup function\n return identifier;\n }\n return function (value) {\n if (Array.isArray(value)) {\n var index = Number(identifier);\n if (Number.isInteger(index)) {\n return value[index];\n }\n } else if (value && typeof value === 'object') {\n var result = Object.getOwnPropertyDescriptor(value, identifier);\n return result == null ? void 0 : result.value;\n }\n return value;\n };\n};\n\nvar getElementByIndex = function getElementByIndex(collection, index) {\n return collection[index];\n};\n\nvar getValueByIdentifier = function getValueByIdentifier(value, getValue) {\n return getValue(value);\n};\n\nvar baseOrderBy = function baseOrderBy(collection, identifiers, orders, locale) {\n var identifierFns = identifiers.length ? identifiers.map(createIdentifierFn) : [function (value) {\n return value;\n }];\n\n // temporary array holds elements with position and sort-values\n var mappedCollection = collection.map(function (element, index) {\n var values = identifierFns.map(function (identifier) {\n return getValueByIdentifier(element, identifier);\n }).map(getMappedValueRecord);\n return {\n index: index,\n values: values\n };\n });\n\n // iterate over values and compare values until a != b or last value reached\n mappedCollection.sort(function (recordA, recordB) {\n return compareMultiple(recordA, recordB, orders, locale);\n });\n return mappedCollection.map(function (element) {\n return getElementByIndex(collection, element.index);\n });\n};\n\nvar getIdentifiers = function getIdentifiers(identifiers) {\n if (!identifiers) {\n return [];\n }\n var identifierList = !Array.isArray(identifiers) ? [identifiers] : [].concat(identifiers);\n if (identifierList.some(function (identifier) {\n return typeof identifier !== 'string' && typeof identifier !== 'number' && typeof identifier !== 'function';\n })) {\n return [];\n }\n return identifierList;\n};\n\nvar getOrders = function getOrders(orders) {\n if (!orders) {\n return [];\n }\n var orderList = !Array.isArray(orders) ? [orders] : [].concat(orders);\n if (orderList.some(function (order) {\n return order !== 'asc' && order !== 'desc' && typeof order !== 'function';\n })) {\n return [];\n }\n return orderList;\n};\n\n/**\n * Creates an array of elements, natural sorted by specified identifiers and\n * the corresponding sort orders. This method implements a stable sort\n * algorithm, which means the original sort order of equal elements is\n * preserved.\n */\nfunction orderBy(collection, identifiers, orders, locale) {\n if (!collection || !Array.isArray(collection)) {\n return [];\n }\n var validatedIdentifiers = getIdentifiers(identifiers);\n var validatedOrders = getOrders(orders);\n return baseOrderBy(collection, validatedIdentifiers, validatedOrders, locale);\n}\n\nexport { compare, orderBy };\n","import { camelCase as changeCamelCase, pascalCase as changePascalCase, pathCase as changePathCase } from 'change-case'\n\ntype Options = {\n /**\n * When set it will replace all `.` with `/`.\n */\n isFile?: boolean\n prefix?: string\n suffix?: string\n}\n\nexport function camelCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {\n if (isFile) {\n const splitArray = text.split('.')\n return splitArray.map((item, i) => (i === splitArray.length - 1 ? camelCase(item, { prefix, suffix }) : camelCase(item))).join('/')\n }\n\n return changeCamelCase(`${prefix} ${text} ${suffix}`, {\n delimiter: '',\n mergeAmbiguousCharacters: true,\n })\n}\n\nexport function pascalCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {\n if (isFile) {\n const splitArray = text.split('.')\n return splitArray.map((item, i) => (i === splitArray.length - 1 ? pascalCase(item, { prefix, suffix }) : camelCase(item))).join('/')\n }\n\n return changePascalCase(`${prefix} ${text} ${suffix}`, {\n delimiter: '',\n mergeAmbiguousCharacters: true,\n })\n}\n\nexport function pathCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {\n if (isFile) {\n const splitArray = text.split('.')\n return splitArray.map((item, i) => (i === splitArray.length - 1 ? pathCase(item, { prefix, suffix }) : camelCase(item))).join('/')\n }\n\n return changePathCase(`${prefix} ${text} ${suffix}`, { delimiter: '' })\n}\n","// Regexps involved with splitting words in various case formats.\nconst SPLIT_LOWER_UPPER_RE = /([\\p{Ll}\\d])(\\p{Lu})/gu;\nconst SPLIT_UPPER_UPPER_RE = /(\\p{Lu})([\\p{Lu}][\\p{Ll}])/gu;\n\n// Used to iterate over the initial split result and separate numbers.\nconst SPLIT_SEPARATE_NUMBER_RE = /(\\d)\\p{Ll}|(\\p{L})\\d/u;\n\n// Regexp involved with stripping non-word characters from the result.\nconst DEFAULT_STRIP_REGEXP = /[^\\p{L}\\d]+/giu;\n\n// The replacement value for splits.\nconst SPLIT_REPLACE_VALUE = \"$1\\0$2\";\n\n// The default characters to keep after transforming case.\nconst DEFAULT_PREFIX_SUFFIX_CHARACTERS = \"\";\n\n/**\n * Supported locale values. Use `false` to ignore locale.\n * Defaults to `undefined`, which uses the host environment.\n */\nexport type Locale = string[] | string | false | undefined;\n\n/**\n * Options used for converting strings to pascal/camel case.\n */\nexport interface PascalCaseOptions extends Options {\n mergeAmbiguousCharacters?: boolean;\n}\n\n/**\n * Options used for converting strings to any case.\n */\nexport interface Options {\n locale?: Locale;\n split?: (value: string) => string[];\n /** @deprecated Pass `split: splitSeparateNumbers` instead. */\n separateNumbers?: boolean;\n delimiter?: string;\n prefixCharacters?: string;\n suffixCharacters?: string;\n}\n\n/**\n * Split any cased input strings into an array of words.\n */\nexport function split(value: string) {\n let result = value.trim();\n\n result = result\n .replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE)\n .replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);\n\n result = result.replace(DEFAULT_STRIP_REGEXP, \"\\0\");\n\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n if (start === end) return [];\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n return result.slice(start, end).split(/\\0/g);\n}\n\n/**\n * Split the input string into an array of words, separating numbers.\n */\nexport function splitSeparateNumbers(value: string) {\n const words = split(value);\n for (let i = 0; i < words.length; i++) {\n const word = words[i];\n const match = SPLIT_SEPARATE_NUMBER_RE.exec(word);\n if (match) {\n const offset = match.index + (match[1] ?? match[2]).length;\n words.splice(i, 1, word.slice(0, offset), word.slice(offset));\n }\n }\n return words;\n}\n\n/**\n * Convert a string to space separated lower case (`foo bar`).\n */\nexport function noCase(input: string, options?: Options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n return (\n prefix +\n words.map(lowerFactory(options?.locale)).join(options?.delimiter ?? \" \") +\n suffix\n );\n}\n\n/**\n * Convert a string to camel case (`fooBar`).\n */\nexport function camelCase(input: string, options?: PascalCaseOptions) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return (\n prefix +\n words\n .map((word, index) => {\n if (index === 0) return lower(word);\n return transform(word, index);\n })\n .join(options?.delimiter ?? \"\") +\n suffix\n );\n}\n\n/**\n * Convert a string to pascal case (`FooBar`).\n */\nexport function pascalCase(input: string, options?: PascalCaseOptions) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return prefix + words.map(transform).join(options?.delimiter ?? \"\") + suffix;\n}\n\n/**\n * Convert a string to pascal snake case (`Foo_Bar`).\n */\nexport function pascalSnakeCase(input: string, options?: Options) {\n return capitalCase(input, { delimiter: \"_\", ...options });\n}\n\n/**\n * Convert a string to capital case (`Foo Bar`).\n */\nexport function capitalCase(input: string, options?: Options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n return (\n prefix +\n words\n .map(capitalCaseTransformFactory(lower, upper))\n .join(options?.delimiter ?? \" \") +\n suffix\n );\n}\n\n/**\n * Convert a string to constant case (`FOO_BAR`).\n */\nexport function constantCase(input: string, options?: Options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n return (\n prefix +\n words.map(upperFactory(options?.locale)).join(options?.delimiter ?? \"_\") +\n suffix\n );\n}\n\n/**\n * Convert a string to dot case (`foo.bar`).\n */\nexport function dotCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \".\", ...options });\n}\n\n/**\n * Convert a string to kebab case (`foo-bar`).\n */\nexport function kebabCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"-\", ...options });\n}\n\n/**\n * Convert a string to path case (`foo/bar`).\n */\nexport function pathCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"/\", ...options });\n}\n\n/**\n * Convert a string to path case (`Foo bar`).\n */\nexport function sentenceCase(input: string, options?: Options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = capitalCaseTransformFactory(lower, upper);\n return (\n prefix +\n words\n .map((word, index) => {\n if (index === 0) return transform(word);\n return lower(word);\n })\n .join(options?.delimiter ?? \" \") +\n suffix\n );\n}\n\n/**\n * Convert a string to snake case (`foo_bar`).\n */\nexport function snakeCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"_\", ...options });\n}\n\n/**\n * Convert a string to header case (`Foo-Bar`).\n */\nexport function trainCase(input: string, options?: Options) {\n return capitalCase(input, { delimiter: \"-\", ...options });\n}\n\nfunction lowerFactory(locale: Locale): (input: string) => string {\n return locale === false\n ? (input: string) => input.toLowerCase()\n : (input: string) => input.toLocaleLowerCase(locale);\n}\n\nfunction upperFactory(locale: Locale): (input: string) => string {\n return locale === false\n ? (input: string) => input.toUpperCase()\n : (input: string) => input.toLocaleUpperCase(locale);\n}\n\nfunction capitalCaseTransformFactory(\n lower: (input: string) => string,\n upper: (input: string) => string,\n) {\n return (word: string) => `${upper(word[0])}${lower(word.slice(1))}`;\n}\n\nfunction pascalCaseTransformFactory(\n lower: (input: string) => string,\n upper: (input: string) => string,\n) {\n return (word: string, index: number) => {\n const char0 = word[0];\n const initial =\n index > 0 && char0 >= \"0\" && char0 <= \"9\" ? \"_\" + char0 : upper(char0);\n return initial + lower(word.slice(1));\n };\n}\n\nfunction splitPrefixSuffix(\n input: string,\n options: Options = {},\n): [string, string[], string] {\n const splitFn =\n options.split ?? (options.separateNumbers ? splitSeparateNumbers : split);\n const prefixCharacters =\n options.prefixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;\n const suffixCharacters =\n options.suffixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;\n let prefixIndex = 0;\n let suffixIndex = input.length;\n\n while (prefixIndex < input.length) {\n const char = input.charAt(prefixIndex);\n if (!prefixCharacters.includes(char)) break;\n prefixIndex++;\n }\n\n while (suffixIndex > prefixIndex) {\n const index = suffixIndex - 1;\n const char = input.charAt(index);\n if (!suffixCharacters.includes(char)) break;\n suffixIndex = index;\n }\n\n return [\n input.slice(0, prefixIndex),\n splitFn(input.slice(prefixIndex, suffixIndex)),\n input.slice(suffixIndex),\n ];\n}\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","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 | boolean | 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","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: string | null = 'RegExp'): string {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n if (func === null) {\n return `/${text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined).replaceAll('/', '\\\\/')}/`\n }\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\nexport function isValidVarName(name: string) {\n try {\n Function(`var ${name}`)\n } catch (e) {\n return false\n }\n return true\n}\n"]}
|