@kubb/core 3.0.0-alpha.3 → 3.0.0-alpha.30
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/README.md +13 -4
- package/dist/{FileManager-Bw-FNS3q.d.cts → FileManager-CqvmdzNO.d.cts} +128 -90
- package/dist/{FileManager-BW--rO8q.d.ts → FileManager-DIArE3b0.d.ts} +128 -90
- package/dist/chunk-2EU7DMPM.js +96 -0
- package/dist/chunk-2EU7DMPM.js.map +1 -0
- package/dist/{chunk-34BPAXR2.cjs → chunk-2UQARE2O.cjs} +54 -37
- package/dist/chunk-2UQARE2O.cjs.map +1 -0
- package/dist/chunk-4X5FFJPJ.js +8 -13
- package/dist/chunk-4X5FFJPJ.js.map +1 -1
- package/dist/{chunk-3OXCZ5DJ.js → chunk-E6CN2CZC.js} +63 -54
- package/dist/chunk-E6CN2CZC.js.map +1 -0
- package/dist/{chunk-25NKJ3DV.js → chunk-HBQM723K.js} +13 -27
- package/dist/chunk-HBQM723K.js.map +1 -0
- package/dist/{chunk-LM2YQC3T.cjs → chunk-LLKRRIBF.cjs} +81 -51
- package/dist/chunk-LLKRRIBF.cjs.map +1 -0
- package/dist/chunk-MD2LDZ3Z.js +889 -0
- package/dist/chunk-MD2LDZ3Z.js.map +1 -0
- package/dist/chunk-OX2X7B4Z.cjs +101 -0
- package/dist/chunk-OX2X7B4Z.cjs.map +1 -0
- package/dist/{chunk-67C6RBGQ.cjs → chunk-RIW2LFFQ.cjs} +28 -29
- package/dist/chunk-RIW2LFFQ.cjs.map +1 -0
- package/dist/chunk-SX5FHSVT.cjs +1532 -0
- package/dist/chunk-SX5FHSVT.cjs.map +1 -0
- package/dist/chunk-VBGWLAET.cjs +42 -0
- package/dist/chunk-VBGWLAET.cjs.map +1 -0
- package/dist/index.cjs +553 -619
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -22
- package/dist/index.d.ts +7 -22
- package/dist/index.js +444 -525
- package/dist/index.js.map +1 -1
- package/dist/{logger-DChjnJMn.d.cts → logger-DvbHXjIO.d.cts} +29 -19
- package/dist/{logger-DChjnJMn.d.ts → logger-DvbHXjIO.d.ts} +29 -19
- package/dist/logger.cjs +25 -15
- package/dist/logger.cjs.map +1 -1
- package/dist/logger.d.cts +1 -2
- package/dist/logger.d.ts +1 -2
- package/dist/logger.js +3 -15
- package/dist/logger.js.map +1 -1
- package/dist/mocks.cjs +42 -31
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.d.cts +7 -9
- package/dist/mocks.d.ts +7 -9
- package/dist/mocks.js +35 -33
- package/dist/mocks.js.map +1 -1
- package/dist/{prompt-6FWP747F.cjs → prompt-2PN2F25D.cjs} +89 -89
- package/dist/prompt-2PN2F25D.cjs.map +1 -0
- package/dist/{prompt-HK3MWREM.js → prompt-WQQUN22Z.js} +9 -15
- package/dist/prompt-WQQUN22Z.js.map +1 -0
- package/dist/transformers.cjs +216 -49
- package/dist/transformers.cjs.map +1 -1
- package/dist/transformers.d.cts +2 -4
- package/dist/transformers.d.ts +2 -4
- package/dist/transformers.js +149 -35
- package/dist/transformers.js.map +1 -1
- package/dist/utils.cjs +65 -26
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +29 -3
- package/dist/utils.d.ts +29 -3
- package/dist/utils.js +3 -26
- package/dist/utils.js.map +1 -1
- package/package.json +11 -14
- package/src/BarrelManager.ts +95 -109
- package/src/{Generator.ts → BaseGenerator.ts} +1 -1
- package/src/FileManager.ts +199 -304
- package/src/PackageManager.ts +1 -1
- package/src/PluginManager.ts +152 -93
- package/src/PromiseManager.ts +1 -1
- package/src/__snapshots__/barrel.json +73 -0
- package/src/__snapshots__/grouped.json +120 -0
- package/src/__snapshots__/ordered.json +68 -0
- package/src/build.ts +86 -131
- package/src/config.ts +2 -4
- package/src/errors.ts +0 -11
- package/src/index.ts +2 -3
- package/src/logger.ts +76 -34
- package/src/plugin.ts +2 -5
- package/src/transformers/escape.ts +0 -10
- package/src/transformers/index.ts +2 -3
- package/src/transformers/stringify.ts +1 -1
- package/src/transformers/trim.ts +0 -4
- package/src/types.ts +52 -20
- package/src/utils/TreeNode.ts +132 -50
- package/src/utils/executeStrategies.ts +3 -3
- package/src/utils/index.ts +2 -1
- package/src/utils/parser.ts +156 -0
- package/dist/chunk-25NKJ3DV.js.map +0 -1
- package/dist/chunk-34BPAXR2.cjs.map +0 -1
- package/dist/chunk-3OXCZ5DJ.js.map +0 -1
- package/dist/chunk-5JZNFPUP.js +0 -309
- package/dist/chunk-5JZNFPUP.js.map +0 -1
- package/dist/chunk-67C6RBGQ.cjs.map +0 -1
- package/dist/chunk-ADC5UNZ5.cjs +0 -1227
- package/dist/chunk-ADC5UNZ5.cjs.map +0 -1
- package/dist/chunk-HMLY7DHA.js +0 -16
- package/dist/chunk-HMLY7DHA.js.map +0 -1
- package/dist/chunk-JKZG2IJR.js +0 -283
- package/dist/chunk-JKZG2IJR.js.map +0 -1
- package/dist/chunk-LM2YQC3T.cjs.map +0 -1
- package/dist/chunk-PZT4CTBV.cjs +0 -299
- package/dist/chunk-PZT4CTBV.cjs.map +0 -1
- package/dist/chunk-SA2GZKXS.js +0 -596
- package/dist/chunk-SA2GZKXS.js.map +0 -1
- package/dist/chunk-XCPFG6DO.cjs +0 -66
- package/dist/chunk-XCPFG6DO.cjs.map +0 -1
- package/dist/chunk-YTSNYMHW.cjs +0 -320
- package/dist/chunk-YTSNYMHW.cjs.map +0 -1
- package/dist/prompt-6FWP747F.cjs.map +0 -1
- package/dist/prompt-HK3MWREM.js.map +0 -1
- package/schema.json +0 -86
- package/src/utils/cache.ts +0 -35
- package/src/utils/getParser.ts +0 -17
package/dist/transformers.cjs
CHANGED
|
@@ -1,50 +1,217 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var chunkOX2X7B4Z_cjs = require('./chunk-OX2X7B4Z.cjs');
|
|
6
|
+
var chunkRIW2LFFQ_cjs = require('./chunk-RIW2LFFQ.cjs');
|
|
7
|
+
var chunkVBGWLAET_cjs = require('./chunk-VBGWLAET.cjs');
|
|
8
|
+
var remeda = require('remeda');
|
|
9
|
+
|
|
10
|
+
// src/transformers/index.ts
|
|
11
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
12
|
+
|
|
13
|
+
// src/transformers/combineCodes.ts
|
|
14
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
15
|
+
function combineCodes(codes) {
|
|
16
|
+
return codes.join("\n");
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// src/transformers/createJSDocBlockText.ts
|
|
20
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
21
|
+
function createJSDocBlockText({ comments }) {
|
|
22
|
+
const filteredComments = comments.filter(Boolean);
|
|
23
|
+
if (!filteredComments.length) {
|
|
24
|
+
return "";
|
|
25
|
+
}
|
|
26
|
+
return `/**
|
|
27
|
+
* ${filteredComments.join("\n * ")}
|
|
28
|
+
*/`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// src/transformers/escape.ts
|
|
32
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
33
|
+
function escape(text) {
|
|
34
|
+
return text ? text.replaceAll("`", "\\`") : "";
|
|
35
|
+
}
|
|
36
|
+
function jsStringEscape(input) {
|
|
37
|
+
return `${input}`.replace(/["'\\\n\r\u2028\u2029]/g, (character) => {
|
|
38
|
+
switch (character) {
|
|
39
|
+
case '"':
|
|
40
|
+
case "'":
|
|
41
|
+
case "\\":
|
|
42
|
+
return `\\${character}`;
|
|
43
|
+
// Four possible LineTerminator characters need to be escaped:
|
|
44
|
+
case "\n":
|
|
45
|
+
return "\\n";
|
|
46
|
+
case "\r":
|
|
47
|
+
return "\\r";
|
|
48
|
+
case "\u2028":
|
|
49
|
+
return "\\u2028";
|
|
50
|
+
case "\u2029":
|
|
51
|
+
return "\\u2029";
|
|
52
|
+
default:
|
|
53
|
+
return "";
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// src/transformers/indent.ts
|
|
59
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
60
|
+
function createIndent(size) {
|
|
61
|
+
return Array.from({ length: size + 1 }).join(" ");
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// src/transformers/nameSorter.ts
|
|
65
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
66
|
+
function nameSorter(a, b) {
|
|
67
|
+
if (a.name < b.name) {
|
|
68
|
+
return -1;
|
|
69
|
+
}
|
|
70
|
+
if (a.name > b.name) {
|
|
71
|
+
return 1;
|
|
72
|
+
}
|
|
73
|
+
return 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// src/transformers/searchAndReplace.ts
|
|
77
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
78
|
+
function searchAndReplace(options) {
|
|
79
|
+
const { text, replaceBy, prefix = "", key } = options;
|
|
80
|
+
const searchValues = options.searchValues?.(prefix, key) || [
|
|
81
|
+
`${prefix}["${key}"]`,
|
|
82
|
+
`${prefix}['${key}']`,
|
|
83
|
+
`${prefix}[\`${key}\`]`,
|
|
84
|
+
`${prefix}"${key}"`,
|
|
85
|
+
`${prefix}'${key}'`,
|
|
86
|
+
`${prefix}\`${key}\``,
|
|
87
|
+
new RegExp(`${prefix}${key}`, "g")
|
|
88
|
+
];
|
|
89
|
+
return searchValues.reduce((prev, searchValue) => {
|
|
90
|
+
return prev.toString().replaceAll(searchValue, replaceBy);
|
|
91
|
+
}, text);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// src/transformers/stringify.ts
|
|
95
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
96
|
+
|
|
97
|
+
// src/transformers/trim.ts
|
|
98
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
99
|
+
function trim(text) {
|
|
100
|
+
return text.replaceAll(/\n/g, "").trim();
|
|
101
|
+
}
|
|
102
|
+
function trimQuotes(text) {
|
|
103
|
+
if (text.match(/^"(.*)"$/)) {
|
|
104
|
+
return text.replace(/^"(.*)"$/, "$1");
|
|
105
|
+
}
|
|
106
|
+
if (text.match(/^'(.*)'$/)) {
|
|
107
|
+
return text.replace(/^'(.*)'$/, "$1");
|
|
108
|
+
}
|
|
109
|
+
if (text.match(/^`(.*)`$/)) {
|
|
110
|
+
return text.replace(/^`(.*)`$/, "$1");
|
|
111
|
+
}
|
|
112
|
+
return text;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// src/transformers/stringify.ts
|
|
116
|
+
function stringify(value) {
|
|
117
|
+
if (value === void 0 || value === null) {
|
|
118
|
+
return '""';
|
|
119
|
+
}
|
|
120
|
+
return JSON.stringify(trimQuotes(value.toString()));
|
|
121
|
+
}
|
|
122
|
+
function stringifyObject(value) {
|
|
123
|
+
const items = Object.entries(value).map(([key, value2]) => {
|
|
124
|
+
if (typeof value2 === "object") {
|
|
125
|
+
return `${key}: {
|
|
126
|
+
${stringifyObject(value2)}
|
|
127
|
+
}`;
|
|
128
|
+
}
|
|
129
|
+
return `${key}: ${value2}`;
|
|
130
|
+
}).filter(Boolean);
|
|
131
|
+
return items.join(",\n");
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// src/transformers/toRegExp.ts
|
|
135
|
+
chunkVBGWLAET_cjs.init_cjs_shims();
|
|
136
|
+
function stringToRegex(text) {
|
|
137
|
+
const isStartWithSlash = text.startsWith("/");
|
|
138
|
+
const isEndWithSlash = text.endsWith("/");
|
|
139
|
+
return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0));
|
|
140
|
+
}
|
|
141
|
+
function toRegExp(text) {
|
|
142
|
+
if (typeof text === "string") {
|
|
143
|
+
const source = trimQuotes(text);
|
|
144
|
+
return stringToRegex(source);
|
|
145
|
+
}
|
|
146
|
+
return stringToRegex(text.toString());
|
|
147
|
+
}
|
|
148
|
+
function toRegExpString(text, func = "RegExp") {
|
|
149
|
+
const isStartWithSlash = text.startsWith("/");
|
|
150
|
+
const isEndWithSlash = text.endsWith("/");
|
|
151
|
+
const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0))}')`;
|
|
152
|
+
return regexp;
|
|
153
|
+
}
|
|
154
|
+
var transformers_default = {
|
|
155
|
+
combineCodes,
|
|
156
|
+
escape,
|
|
157
|
+
jsStringEscape,
|
|
158
|
+
createIndent,
|
|
159
|
+
transformReservedWord: chunkOX2X7B4Z_cjs.transformReservedWord,
|
|
160
|
+
nameSorter,
|
|
161
|
+
searchAndReplace,
|
|
162
|
+
stringify,
|
|
163
|
+
stringifyObject,
|
|
164
|
+
toRegExp,
|
|
165
|
+
toRegExpString,
|
|
166
|
+
trim,
|
|
167
|
+
trimQuotes,
|
|
168
|
+
JSDoc: {
|
|
169
|
+
createJSDocBlockText
|
|
170
|
+
},
|
|
171
|
+
orderBy: chunkRIW2LFFQ_cjs.orderBy,
|
|
172
|
+
merge: remeda.merge,
|
|
173
|
+
camelCase: chunkRIW2LFFQ_cjs.camelCase,
|
|
174
|
+
pascalCase: chunkRIW2LFFQ_cjs.pascalCase,
|
|
175
|
+
pathCase: chunkRIW2LFFQ_cjs.pathCase
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
Object.defineProperty(exports, "transformReservedWord", {
|
|
179
|
+
enumerable: true,
|
|
180
|
+
get: function () { return chunkOX2X7B4Z_cjs.transformReservedWord; }
|
|
181
|
+
});
|
|
182
|
+
Object.defineProperty(exports, "camelCase", {
|
|
183
|
+
enumerable: true,
|
|
184
|
+
get: function () { return chunkRIW2LFFQ_cjs.camelCase; }
|
|
185
|
+
});
|
|
186
|
+
Object.defineProperty(exports, "orderBy", {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function () { return chunkRIW2LFFQ_cjs.orderBy; }
|
|
189
|
+
});
|
|
190
|
+
Object.defineProperty(exports, "pascalCase", {
|
|
191
|
+
enumerable: true,
|
|
192
|
+
get: function () { return chunkRIW2LFFQ_cjs.pascalCase; }
|
|
193
|
+
});
|
|
194
|
+
Object.defineProperty(exports, "pathCase", {
|
|
195
|
+
enumerable: true,
|
|
196
|
+
get: function () { return chunkRIW2LFFQ_cjs.pathCase; }
|
|
197
|
+
});
|
|
198
|
+
Object.defineProperty(exports, "merge", {
|
|
199
|
+
enumerable: true,
|
|
200
|
+
get: function () { return remeda.merge; }
|
|
201
|
+
});
|
|
202
|
+
exports.combineCodes = combineCodes;
|
|
203
|
+
exports.createIndent = createIndent;
|
|
204
|
+
exports.createJSDocBlockText = createJSDocBlockText;
|
|
205
|
+
exports.default = transformers_default;
|
|
206
|
+
exports.escape = escape;
|
|
207
|
+
exports.jsStringEscape = jsStringEscape;
|
|
208
|
+
exports.nameSorter = nameSorter;
|
|
209
|
+
exports.searchAndReplace = searchAndReplace;
|
|
210
|
+
exports.stringify = stringify;
|
|
211
|
+
exports.stringifyObject = stringifyObject;
|
|
212
|
+
exports.toRegExp = toRegExp;
|
|
213
|
+
exports.toRegExpString = toRegExpString;
|
|
214
|
+
exports.trim = trim;
|
|
215
|
+
exports.trimQuotes = trimQuotes;
|
|
216
|
+
//# sourceMappingURL=transformers.cjs.map
|
|
50
217
|
//# sourceMappingURL=transformers.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/transformers.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,+lCAAC","file":"/home/runner/work/kubb/kubb/packages/core/dist/transformers.cjs"}
|
|
1
|
+
{"version":3,"sources":["../src/transformers/index.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/stringify.ts","../src/transformers/trim.ts","../src/transformers/toRegExp.ts"],"names":["init_cjs_shims","value","transformReservedWord","orderBy","merge","camelCase","pascalCase","pathCase"],"mappings":";;;;;;;;;;AAAAA,gCAAA,EAAA,CAAA;;;ACAAA,gCAAA,EAAA,CAAA;AAAO,SAAS,aAAa,KAAyB,EAAA;AACpD,EAAO,OAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AACxB,CAAA;;;ACFAA,gCAAA,EAAA,CAAA;AAAO,SAAS,oBAAA,CAAqB,EAAE,QAAA,EAAiD,EAAA;AACtF,EAAM,MAAA,gBAAA,GAAmB,QAAS,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAEhD,EAAI,IAAA,CAAC,iBAAiB,MAAQ,EAAA;AAC5B,IAAO,OAAA,EAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,CAAA;AAAA,GAAW,EAAA,gBAAA,CAAiB,IAAK,CAAA,OAAO,CAAC,CAAA;AAAA,GAAA,CAAA,CAAA;AAClD,CAAA;;;ACRAA,gCAAA,EAAA,CAAA;AAAO,SAAS,OAAO,IAAuB,EAAA;AAC5C,EAAA,OAAO,IAAO,GAAA,IAAA,CAAK,UAAW,CAAA,GAAA,EAAK,KAAK,CAAI,GAAA,EAAA,CAAA;AAC9C,CAAA;AAQO,SAAS,eAAe,KAAoB,EAAA;AACjD,EAAA,OAAO,GAAG,KAAK,CAAA,CAAA,CAAG,OAAQ,CAAA,yBAAA,EAA2B,CAAC,SAAc,KAAA;AAClE,IAAA,QAAQ,SAAW;AAAA,MACjB,KAAK,GAAA,CAAA;AAAA,MACL,KAAK,GAAA,CAAA;AAAA,MACL,KAAK,IAAA;AACH,QAAA,OAAO,KAAK,SAAS,CAAA,CAAA,CAAA;AAAA;AAAA,MAEvB,KAAK,IAAA;AACH,QAAO,OAAA,KAAA,CAAA;AAAA,MACT,KAAK,IAAA;AACH,QAAO,OAAA,KAAA,CAAA;AAAA,MACT,KAAK,QAAA;AACH,QAAO,OAAA,SAAA,CAAA;AAAA,MACT,KAAK,QAAA;AACH,QAAO,OAAA,SAAA,CAAA;AAAA,MACT;AACE,QAAO,OAAA,EAAA,CAAA;AAAA,KACX;AAAA,GACD,CAAA,CAAA;AACH,CAAA;;;AC9BAA,gCAAA,EAAA,CAAA;AAAO,SAAS,aAAa,IAAsB,EAAA;AACjD,EAAO,OAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,OAAO,CAAE,EAAC,CAAE,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAClD,CAAA;;;ACFAA,gCAAA,EAAA,CAAA;AAAO,SAAS,UAAA,CAAuC,GAAM,CAAkB,EAAA;AAC7E,EAAI,IAAA,CAAA,CAAE,IAAO,GAAA,CAAA,CAAE,IAAM,EAAA;AACnB,IAAO,OAAA,CAAA,CAAA,CAAA;AAAA,GACT;AACA,EAAI,IAAA,CAAA,CAAE,IAAO,GAAA,CAAA,CAAE,IAAM,EAAA;AACnB,IAAO,OAAA,CAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,CAAA,CAAA;AACT,CAAA;;;ACRAA,gCAAA,EAAA,CAAA;AAQO,SAAS,iBAAiB,OAA0B,EAAA;AACzD,EAAA,MAAM,EAAE,IAAM,EAAA,SAAA,EAAW,MAAS,GAAA,EAAA,EAAI,KAAQ,GAAA,OAAA,CAAA;AAE9C,EAAA,MAAM,YAAe,GAAA,OAAA,CAAQ,YAAe,GAAA,MAAA,EAAQ,GAAG,CAAK,IAAA;AAAA,IAC1D,CAAA,EAAG,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA;AAAA,IACjB,CAAA,EAAG,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA;AAAA,IACjB,CAAA,EAAG,MAAM,CAAA,GAAA,EAAM,GAAG,CAAA,GAAA,CAAA;AAAA,IAClB,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAA;AAAA,IAChB,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAA;AAAA,IAChB,CAAA,EAAG,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA;AAAA,IACjB,IAAI,MAAO,CAAA,CAAA,EAAG,MAAM,CAAG,EAAA,GAAG,IAAI,GAAG,CAAA;AAAA,GACnC,CAAA;AAEA,EAAA,OAAO,YAAa,CAAA,MAAA,CAAO,CAAC,IAAA,EAAM,WAAgB,KAAA;AAChD,IAAA,OAAO,IAAK,CAAA,QAAA,EAAW,CAAA,UAAA,CAAW,aAAa,SAAS,CAAA,CAAA;AAAA,KACvD,IAAI,CAAA,CAAA;AACT,CAAA;;;ACxBAA,gCAAA,EAAA,CAAA;;;ACAAA,gCAAA,EAAA,CAAA;AAAO,SAAS,KAAK,IAAsB,EAAA;AACzC,EAAA,OAAO,IAAK,CAAA,UAAA,CAAW,KAAO,EAAA,EAAE,EAAE,IAAK,EAAA,CAAA;AACzC,CAAA;AAEO,SAAS,WAAW,IAAsB,EAAA;AAC/C,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAAA,GACtC;AACA,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAAA,GACtC;AAEA,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAAA,GACtC;AAEA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;;;ADfO,SAAS,UAAU,KAAsD,EAAA;AAC9E,EAAI,IAAA,KAAA,KAAU,KAAa,CAAA,IAAA,KAAA,KAAU,IAAM,EAAA;AACzC,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,KAAK,SAAU,CAAA,UAAA,CAAW,KAAM,CAAA,QAAA,EAAU,CAAC,CAAA,CAAA;AACpD,CAAA;AAEO,SAAS,gBAAgB,KAAuB,EAAA;AACrD,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAA,CAC/B,IAAI,CAAC,CAAC,GAAKC,EAAAA,MAAK,CAAM,KAAA;AACrB,IAAI,IAAA,OAAOA,WAAU,QAAU,EAAA;AAC7B,MAAA,OAAO,GAAG,GAAG,CAAA;AAAA,QACX,EAAA,eAAA,CAAgBA,MAAK,CAAC,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAE1B;AAEA,IAAO,OAAA,CAAA,EAAG,GAAG,CAAA,EAAA,EAAKA,MAAK,CAAA,CAAA,CAAA;AAAA,GACxB,CACA,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAEjB,EAAO,OAAA,KAAA,CAAM,KAAK,KAAK,CAAA,CAAA;AACzB,CAAA;;;AExBAD,gCAAA,EAAA,CAAA;AAGA,SAAS,cAAc,IAAc,EAAA;AACnC,EAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,UAAA,CAAW,GAAG,CAAA,CAAA;AAC5C,EAAM,MAAA,cAAA,GAAiB,IAAK,CAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAExC,EAAO,OAAA,IAAI,MAAO,CAAA,IAAA,CAAK,KAAM,CAAA,gBAAA,GAAmB,IAAI,CAAG,EAAA,cAAA,GAAiB,CAAK,CAAA,GAAA,KAAA,CAAS,CAAC,CAAA,CAAA;AACzF,CAAA;AAKO,SAAS,SAAS,IAA+B,EAAA;AACtD,EAAI,IAAA,OAAO,SAAS,QAAU,EAAA;AAC5B,IAAM,MAAA,MAAA,GAAS,WAAW,IAAI,CAAA,CAAA;AAE9B,IAAA,OAAO,cAAc,MAAM,CAAA,CAAA;AAAA,GAC7B;AAEA,EAAO,OAAA,aAAA,CAAc,IAAK,CAAA,QAAA,EAAU,CAAA,CAAA;AACtC,CAAA;AAEO,SAAS,cAAA,CAAe,IAAc,EAAA,IAAA,GAAO,QAAkB,EAAA;AACpE,EAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,UAAA,CAAW,GAAG,CAAA,CAAA;AAC5C,EAAM,MAAA,cAAA,GAAiB,IAAK,CAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAExC,EAAA,MAAM,MAAS,GAAA,CAAA,IAAA,EAAO,IAAI,CAAA,EAAA,EAAK,eAAe,IAAK,CAAA,KAAA,CAAM,gBAAmB,GAAA,CAAA,GAAI,CAAG,EAAA,cAAA,GAAiB,CAAK,CAAA,GAAA,KAAA,CAAS,CAAC,CAAC,CAAA,EAAA,CAAA,CAAA;AAEpH,EAAO,OAAA,MAAA,CAAA;AACT,CAAA;ATDA,IAAO,oBAAQ,GAAA;AAAA,EACb,YAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AAAA,yBACAE,uCAAA;AAAA,EACA,UAAA;AAAA,EACA,gBAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAO,EAAA;AAAA,IACL,oBAAA;AAAA,GACF;AAAA,WACAC,yBAAA;AAAA,SACAC,YAAA;AAAA,aACAC,2BAAA;AAAA,cACAC,4BAAA;AAAA,YACAC,0BAAA;AACF","file":"transformers.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 { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimQuotes } from './trim.ts'\n\nexport { camelCase, pascalCase, pathCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { stringify, stringifyObject } from './stringify.ts'\nexport { toRegExp, toRegExpString } from './toRegExp.ts'\nexport { transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimQuotes } from './trim.ts'\nexport { merge } from 'remeda'\nexport { orderBy } from 'natural-orderby'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n nameSorter,\n searchAndReplace,\n stringify,\n stringifyObject,\n toRegExp,\n toRegExpString,\n trim,\n trimQuotes,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\n camelCase,\n pascalCase,\n pathCase,\n} as const\n","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 = '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"]}
|
package/dist/transformers.d.cts
CHANGED
|
@@ -44,7 +44,7 @@ type Options = {
|
|
|
44
44
|
};
|
|
45
45
|
declare function searchAndReplace(options: Options): string;
|
|
46
46
|
|
|
47
|
-
declare function stringify(value: string | number | undefined): string;
|
|
47
|
+
declare function stringify(value: string | number | boolean | undefined): string;
|
|
48
48
|
declare function stringifyObject(value: object): string;
|
|
49
49
|
|
|
50
50
|
/**
|
|
@@ -57,7 +57,6 @@ declare function transformReservedWord(word: string): string;
|
|
|
57
57
|
|
|
58
58
|
declare function trim(text: string): string;
|
|
59
59
|
declare function trimQuotes(text: string): string;
|
|
60
|
-
declare function trimExtName(text: string): string;
|
|
61
60
|
|
|
62
61
|
declare const _default: {
|
|
63
62
|
readonly combineCodes: typeof combineCodes;
|
|
@@ -73,7 +72,6 @@ declare const _default: {
|
|
|
73
72
|
readonly toRegExpString: typeof toRegExpString;
|
|
74
73
|
readonly trim: typeof trim;
|
|
75
74
|
readonly trimQuotes: typeof trimQuotes;
|
|
76
|
-
readonly trimExtName: typeof trimExtName;
|
|
77
75
|
readonly JSDoc: {
|
|
78
76
|
readonly createJSDocBlockText: typeof createJSDocBlockText;
|
|
79
77
|
};
|
|
@@ -84,4 +82,4 @@ declare const _default: {
|
|
|
84
82
|
readonly pathCase: typeof pathCase;
|
|
85
83
|
};
|
|
86
84
|
|
|
87
|
-
export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, jsStringEscape, nameSorter, pascalCase, pathCase, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, transformReservedWord, trim,
|
|
85
|
+
export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, jsStringEscape, nameSorter, pascalCase, pathCase, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, transformReservedWord, trim, trimQuotes };
|
package/dist/transformers.d.ts
CHANGED
|
@@ -44,7 +44,7 @@ type Options = {
|
|
|
44
44
|
};
|
|
45
45
|
declare function searchAndReplace(options: Options): string;
|
|
46
46
|
|
|
47
|
-
declare function stringify(value: string | number | undefined): string;
|
|
47
|
+
declare function stringify(value: string | number | boolean | undefined): string;
|
|
48
48
|
declare function stringifyObject(value: object): string;
|
|
49
49
|
|
|
50
50
|
/**
|
|
@@ -57,7 +57,6 @@ declare function transformReservedWord(word: string): string;
|
|
|
57
57
|
|
|
58
58
|
declare function trim(text: string): string;
|
|
59
59
|
declare function trimQuotes(text: string): string;
|
|
60
|
-
declare function trimExtName(text: string): string;
|
|
61
60
|
|
|
62
61
|
declare const _default: {
|
|
63
62
|
readonly combineCodes: typeof combineCodes;
|
|
@@ -73,7 +72,6 @@ declare const _default: {
|
|
|
73
72
|
readonly toRegExpString: typeof toRegExpString;
|
|
74
73
|
readonly trim: typeof trim;
|
|
75
74
|
readonly trimQuotes: typeof trimQuotes;
|
|
76
|
-
readonly trimExtName: typeof trimExtName;
|
|
77
75
|
readonly JSDoc: {
|
|
78
76
|
readonly createJSDocBlockText: typeof createJSDocBlockText;
|
|
79
77
|
};
|
|
@@ -84,4 +82,4 @@ declare const _default: {
|
|
|
84
82
|
readonly pathCase: typeof pathCase;
|
|
85
83
|
};
|
|
86
84
|
|
|
87
|
-
export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, jsStringEscape, nameSorter, pascalCase, pathCase, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, transformReservedWord, trim,
|
|
85
|
+
export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, jsStringEscape, nameSorter, pascalCase, pathCase, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, transformReservedWord, trim, trimQuotes };
|
package/dist/transformers.js
CHANGED
|
@@ -1,50 +1,164 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { transformReservedWord } from './chunk-2EU7DMPM.js';
|
|
2
|
+
export { transformReservedWord } from './chunk-2EU7DMPM.js';
|
|
3
|
+
import { orderBy, camelCase, pascalCase, pathCase } from './chunk-4X5FFJPJ.js';
|
|
4
|
+
export { camelCase, orderBy, pascalCase, pathCase } from './chunk-4X5FFJPJ.js';
|
|
5
|
+
import { merge } from 'remeda';
|
|
6
|
+
export { merge } from 'remeda';
|
|
7
|
+
|
|
8
|
+
// src/transformers/combineCodes.ts
|
|
9
|
+
function combineCodes(codes) {
|
|
10
|
+
return codes.join("\n");
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// src/transformers/createJSDocBlockText.ts
|
|
14
|
+
function createJSDocBlockText({ comments }) {
|
|
15
|
+
const filteredComments = comments.filter(Boolean);
|
|
16
|
+
if (!filteredComments.length) {
|
|
17
|
+
return "";
|
|
18
|
+
}
|
|
19
|
+
return `/**
|
|
20
|
+
* ${filteredComments.join("\n * ")}
|
|
21
|
+
*/`;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// src/transformers/escape.ts
|
|
25
|
+
function escape(text) {
|
|
26
|
+
return text ? text.replaceAll("`", "\\`") : "";
|
|
27
|
+
}
|
|
28
|
+
function jsStringEscape(input) {
|
|
29
|
+
return `${input}`.replace(/["'\\\n\r\u2028\u2029]/g, (character) => {
|
|
30
|
+
switch (character) {
|
|
31
|
+
case '"':
|
|
32
|
+
case "'":
|
|
33
|
+
case "\\":
|
|
34
|
+
return `\\${character}`;
|
|
35
|
+
// Four possible LineTerminator characters need to be escaped:
|
|
36
|
+
case "\n":
|
|
37
|
+
return "\\n";
|
|
38
|
+
case "\r":
|
|
39
|
+
return "\\r";
|
|
40
|
+
case "\u2028":
|
|
41
|
+
return "\\u2028";
|
|
42
|
+
case "\u2029":
|
|
43
|
+
return "\\u2029";
|
|
44
|
+
default:
|
|
45
|
+
return "";
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// src/transformers/indent.ts
|
|
51
|
+
function createIndent(size) {
|
|
52
|
+
return Array.from({ length: size + 1 }).join(" ");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// src/transformers/nameSorter.ts
|
|
56
|
+
function nameSorter(a, b) {
|
|
57
|
+
if (a.name < b.name) {
|
|
58
|
+
return -1;
|
|
59
|
+
}
|
|
60
|
+
if (a.name > b.name) {
|
|
61
|
+
return 1;
|
|
62
|
+
}
|
|
63
|
+
return 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// src/transformers/searchAndReplace.ts
|
|
67
|
+
function searchAndReplace(options) {
|
|
68
|
+
const { text, replaceBy, prefix = "", key } = options;
|
|
69
|
+
const searchValues = options.searchValues?.(prefix, key) || [
|
|
70
|
+
`${prefix}["${key}"]`,
|
|
71
|
+
`${prefix}['${key}']`,
|
|
72
|
+
`${prefix}[\`${key}\`]`,
|
|
73
|
+
`${prefix}"${key}"`,
|
|
74
|
+
`${prefix}'${key}'`,
|
|
75
|
+
`${prefix}\`${key}\``,
|
|
76
|
+
new RegExp(`${prefix}${key}`, "g")
|
|
77
|
+
];
|
|
78
|
+
return searchValues.reduce((prev, searchValue) => {
|
|
79
|
+
return prev.toString().replaceAll(searchValue, replaceBy);
|
|
80
|
+
}, text);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// src/transformers/trim.ts
|
|
84
|
+
function trim(text) {
|
|
85
|
+
return text.replaceAll(/\n/g, "").trim();
|
|
86
|
+
}
|
|
87
|
+
function trimQuotes(text) {
|
|
88
|
+
if (text.match(/^"(.*)"$/)) {
|
|
89
|
+
return text.replace(/^"(.*)"$/, "$1");
|
|
90
|
+
}
|
|
91
|
+
if (text.match(/^'(.*)'$/)) {
|
|
92
|
+
return text.replace(/^'(.*)'$/, "$1");
|
|
93
|
+
}
|
|
94
|
+
if (text.match(/^`(.*)`$/)) {
|
|
95
|
+
return text.replace(/^`(.*)`$/, "$1");
|
|
96
|
+
}
|
|
97
|
+
return text;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// src/transformers/stringify.ts
|
|
101
|
+
function stringify(value) {
|
|
102
|
+
if (value === void 0 || value === null) {
|
|
103
|
+
return '""';
|
|
104
|
+
}
|
|
105
|
+
return JSON.stringify(trimQuotes(value.toString()));
|
|
106
|
+
}
|
|
107
|
+
function stringifyObject(value) {
|
|
108
|
+
const items = Object.entries(value).map(([key, value2]) => {
|
|
109
|
+
if (typeof value2 === "object") {
|
|
110
|
+
return `${key}: {
|
|
111
|
+
${stringifyObject(value2)}
|
|
112
|
+
}`;
|
|
113
|
+
}
|
|
114
|
+
return `${key}: ${value2}`;
|
|
115
|
+
}).filter(Boolean);
|
|
116
|
+
return items.join(",\n");
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// src/transformers/toRegExp.ts
|
|
120
|
+
function stringToRegex(text) {
|
|
121
|
+
const isStartWithSlash = text.startsWith("/");
|
|
122
|
+
const isEndWithSlash = text.endsWith("/");
|
|
123
|
+
return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0));
|
|
124
|
+
}
|
|
125
|
+
function toRegExp(text) {
|
|
126
|
+
if (typeof text === "string") {
|
|
127
|
+
const source = trimQuotes(text);
|
|
128
|
+
return stringToRegex(source);
|
|
129
|
+
}
|
|
130
|
+
return stringToRegex(text.toString());
|
|
131
|
+
}
|
|
132
|
+
function toRegExpString(text, func = "RegExp") {
|
|
133
|
+
const isStartWithSlash = text.startsWith("/");
|
|
134
|
+
const isEndWithSlash = text.endsWith("/");
|
|
135
|
+
const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0))}')`;
|
|
136
|
+
return regexp;
|
|
137
|
+
}
|
|
138
|
+
var transformers_default = {
|
|
2
139
|
combineCodes,
|
|
3
|
-
createIndent,
|
|
4
|
-
createJSDocBlockText,
|
|
5
140
|
escape,
|
|
6
141
|
jsStringEscape,
|
|
7
|
-
|
|
142
|
+
createIndent,
|
|
143
|
+
transformReservedWord,
|
|
8
144
|
nameSorter,
|
|
9
145
|
searchAndReplace,
|
|
10
146
|
stringify,
|
|
11
147
|
stringifyObject,
|
|
12
148
|
toRegExp,
|
|
13
149
|
toRegExpString,
|
|
14
|
-
transformReservedWord,
|
|
15
|
-
transformers_default,
|
|
16
150
|
trim,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
camelCase,
|
|
151
|
+
trimQuotes,
|
|
152
|
+
JSDoc: {
|
|
153
|
+
createJSDocBlockText
|
|
154
|
+
},
|
|
22
155
|
orderBy,
|
|
23
|
-
pascalCase,
|
|
24
|
-
pathCase
|
|
25
|
-
} from "./chunk-4X5FFJPJ.js";
|
|
26
|
-
import "./chunk-HMLY7DHA.js";
|
|
27
|
-
export {
|
|
28
|
-
camelCase,
|
|
29
|
-
combineCodes,
|
|
30
|
-
createIndent,
|
|
31
|
-
createJSDocBlockText,
|
|
32
|
-
transformers_default as default,
|
|
33
|
-
escape,
|
|
34
|
-
jsStringEscape,
|
|
35
156
|
merge,
|
|
36
|
-
|
|
37
|
-
orderBy,
|
|
157
|
+
camelCase,
|
|
38
158
|
pascalCase,
|
|
39
|
-
pathCase
|
|
40
|
-
searchAndReplace,
|
|
41
|
-
stringify,
|
|
42
|
-
stringifyObject,
|
|
43
|
-
toRegExp,
|
|
44
|
-
toRegExpString,
|
|
45
|
-
transformReservedWord,
|
|
46
|
-
trim,
|
|
47
|
-
trimExtName,
|
|
48
|
-
trimQuotes
|
|
159
|
+
pathCase
|
|
49
160
|
};
|
|
161
|
+
|
|
162
|
+
export { combineCodes, createIndent, createJSDocBlockText, transformers_default as default, escape, jsStringEscape, nameSorter, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, trim, trimQuotes };
|
|
163
|
+
//# sourceMappingURL=transformers.js.map
|
|
50
164
|
//# sourceMappingURL=transformers.js.map
|
package/dist/transformers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/trim.ts","../src/transformers/stringify.ts","../src/transformers/toRegExp.ts","../src/transformers/index.ts"],"names":["value"],"mappings":";;;;;;;;AAAO,SAAS,aAAa,KAAyB,EAAA;AACpD,EAAO,OAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AACxB,CAAA;;;ACFO,SAAS,oBAAA,CAAqB,EAAE,QAAA,EAAiD,EAAA;AACtF,EAAM,MAAA,gBAAA,GAAmB,QAAS,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAEhD,EAAI,IAAA,CAAC,iBAAiB,MAAQ,EAAA;AAC5B,IAAO,OAAA,EAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,CAAA;AAAA,GAAW,EAAA,gBAAA,CAAiB,IAAK,CAAA,OAAO,CAAC,CAAA;AAAA,GAAA,CAAA,CAAA;AAClD,CAAA;;;ACRO,SAAS,OAAO,IAAuB,EAAA;AAC5C,EAAA,OAAO,IAAO,GAAA,IAAA,CAAK,UAAW,CAAA,GAAA,EAAK,KAAK,CAAI,GAAA,EAAA,CAAA;AAC9C,CAAA;AAQO,SAAS,eAAe,KAAoB,EAAA;AACjD,EAAA,OAAO,GAAG,KAAK,CAAA,CAAA,CAAG,OAAQ,CAAA,yBAAA,EAA2B,CAAC,SAAc,KAAA;AAClE,IAAA,QAAQ,SAAW;AAAA,MACjB,KAAK,GAAA,CAAA;AAAA,MACL,KAAK,GAAA,CAAA;AAAA,MACL,KAAK,IAAA;AACH,QAAA,OAAO,KAAK,SAAS,CAAA,CAAA,CAAA;AAAA;AAAA,MAEvB,KAAK,IAAA;AACH,QAAO,OAAA,KAAA,CAAA;AAAA,MACT,KAAK,IAAA;AACH,QAAO,OAAA,KAAA,CAAA;AAAA,MACT,KAAK,QAAA;AACH,QAAO,OAAA,SAAA,CAAA;AAAA,MACT,KAAK,QAAA;AACH,QAAO,OAAA,SAAA,CAAA;AAAA,MACT;AACE,QAAO,OAAA,EAAA,CAAA;AAAA,KACX;AAAA,GACD,CAAA,CAAA;AACH,CAAA;;;AC9BO,SAAS,aAAa,IAAsB,EAAA;AACjD,EAAO,OAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,OAAO,CAAE,EAAC,CAAE,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAClD,CAAA;;;ACFO,SAAS,UAAA,CAAuC,GAAM,CAAkB,EAAA;AAC7E,EAAI,IAAA,CAAA,CAAE,IAAO,GAAA,CAAA,CAAE,IAAM,EAAA;AACnB,IAAO,OAAA,CAAA,CAAA,CAAA;AAAA,GACT;AACA,EAAI,IAAA,CAAA,CAAE,IAAO,GAAA,CAAA,CAAE,IAAM,EAAA;AACnB,IAAO,OAAA,CAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,CAAA,CAAA;AACT,CAAA;;;ACAO,SAAS,iBAAiB,OAA0B,EAAA;AACzD,EAAA,MAAM,EAAE,IAAM,EAAA,SAAA,EAAW,MAAS,GAAA,EAAA,EAAI,KAAQ,GAAA,OAAA,CAAA;AAE9C,EAAA,MAAM,YAAe,GAAA,OAAA,CAAQ,YAAe,GAAA,MAAA,EAAQ,GAAG,CAAK,IAAA;AAAA,IAC1D,CAAA,EAAG,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA;AAAA,IACjB,CAAA,EAAG,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA;AAAA,IACjB,CAAA,EAAG,MAAM,CAAA,GAAA,EAAM,GAAG,CAAA,GAAA,CAAA;AAAA,IAClB,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAA;AAAA,IAChB,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAA;AAAA,IAChB,CAAA,EAAG,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA;AAAA,IACjB,IAAI,MAAO,CAAA,CAAA,EAAG,MAAM,CAAG,EAAA,GAAG,IAAI,GAAG,CAAA;AAAA,GACnC,CAAA;AAEA,EAAA,OAAO,YAAa,CAAA,MAAA,CAAO,CAAC,IAAA,EAAM,WAAgB,KAAA;AAChD,IAAA,OAAO,IAAK,CAAA,QAAA,EAAW,CAAA,UAAA,CAAW,aAAa,SAAS,CAAA,CAAA;AAAA,KACvD,IAAI,CAAA,CAAA;AACT,CAAA;;;ACxBO,SAAS,KAAK,IAAsB,EAAA;AACzC,EAAA,OAAO,IAAK,CAAA,UAAA,CAAW,KAAO,EAAA,EAAE,EAAE,IAAK,EAAA,CAAA;AACzC,CAAA;AAEO,SAAS,WAAW,IAAsB,EAAA;AAC/C,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAAA,GACtC;AACA,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAAA,GACtC;AAEA,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAAA,GACtC;AAEA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;;;ACfO,SAAS,UAAU,KAAsD,EAAA;AAC9E,EAAI,IAAA,KAAA,KAAU,KAAa,CAAA,IAAA,KAAA,KAAU,IAAM,EAAA;AACzC,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,KAAK,SAAU,CAAA,UAAA,CAAW,KAAM,CAAA,QAAA,EAAU,CAAC,CAAA,CAAA;AACpD,CAAA;AAEO,SAAS,gBAAgB,KAAuB,EAAA;AACrD,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAA,CAC/B,IAAI,CAAC,CAAC,GAAKA,EAAAA,MAAK,CAAM,KAAA;AACrB,IAAI,IAAA,OAAOA,WAAU,QAAU,EAAA;AAC7B,MAAA,OAAO,GAAG,GAAG,CAAA;AAAA,QACX,EAAA,eAAA,CAAgBA,MAAK,CAAC,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAE1B;AAEA,IAAO,OAAA,CAAA,EAAG,GAAG,CAAA,EAAA,EAAKA,MAAK,CAAA,CAAA,CAAA;AAAA,GACxB,CACA,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAEjB,EAAO,OAAA,KAAA,CAAM,KAAK,KAAK,CAAA,CAAA;AACzB,CAAA;;;ACrBA,SAAS,cAAc,IAAc,EAAA;AACnC,EAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,UAAA,CAAW,GAAG,CAAA,CAAA;AAC5C,EAAM,MAAA,cAAA,GAAiB,IAAK,CAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAExC,EAAO,OAAA,IAAI,MAAO,CAAA,IAAA,CAAK,KAAM,CAAA,gBAAA,GAAmB,IAAI,CAAG,EAAA,cAAA,GAAiB,CAAK,CAAA,GAAA,KAAA,CAAS,CAAC,CAAA,CAAA;AACzF,CAAA;AAKO,SAAS,SAAS,IAA+B,EAAA;AACtD,EAAI,IAAA,OAAO,SAAS,QAAU,EAAA;AAC5B,IAAM,MAAA,MAAA,GAAS,WAAW,IAAI,CAAA,CAAA;AAE9B,IAAA,OAAO,cAAc,MAAM,CAAA,CAAA;AAAA,GAC7B;AAEA,EAAO,OAAA,aAAA,CAAc,IAAK,CAAA,QAAA,EAAU,CAAA,CAAA;AACtC,CAAA;AAEO,SAAS,cAAA,CAAe,IAAc,EAAA,IAAA,GAAO,QAAkB,EAAA;AACpE,EAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,UAAA,CAAW,GAAG,CAAA,CAAA;AAC5C,EAAM,MAAA,cAAA,GAAiB,IAAK,CAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAExC,EAAA,MAAM,MAAS,GAAA,CAAA,IAAA,EAAO,IAAI,CAAA,EAAA,EAAK,eAAe,IAAK,CAAA,KAAA,CAAM,gBAAmB,GAAA,CAAA,GAAI,CAAG,EAAA,cAAA,GAAiB,CAAK,CAAA,GAAA,KAAA,CAAS,CAAC,CAAC,CAAA,EAAA,CAAA,CAAA;AAEpH,EAAO,OAAA,MAAA,CAAA;AACT,CAAA;ACDA,IAAO,oBAAQ,GAAA;AAAA,EACb,YAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AAAA,EACA,qBAAA;AAAA,EACA,UAAA;AAAA,EACA,gBAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAO,EAAA;AAAA,IACL,oBAAA;AAAA,GACF;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AACF","file":"transformers.js","sourcesContent":["export function combineCodes(codes: string[]): string {\n return codes.join('\\n')\n}\n","export function createJSDocBlockText({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","export function escape(text?: string): string {\n return text ? text.replaceAll('`', '\\\\`') : ''\n}\n\n/**\n * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on\n * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4\n * @link https://github.com/joliss/js-string-escape/blob/master/index.js\n */\n\nexport function jsStringEscape(input: any): string {\n return `${input}`.replace(/[\"'\\\\\\n\\r\\u2028\\u2029]/g, (character) => {\n switch (character) {\n case '\"':\n case \"'\":\n case '\\\\':\n return `\\\\${character}`\n // Four possible LineTerminator characters need to be escaped:\n case '\\n':\n return '\\\\n'\n case '\\r':\n return '\\\\r'\n case '\\u2028':\n return '\\\\u2028'\n case '\\u2029':\n return '\\\\u2029'\n default:\n return ''\n }\n })\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | 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","import { jsStringEscape } from './escape'\nimport { trimQuotes } from './trim'\n\nfunction stringToRegex(text: string) {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))\n}\n\n/**\n * @experimental\n */\nexport function toRegExp(text: string | RegExp): RegExp {\n if (typeof text === 'string') {\n const source = trimQuotes(text)\n\n return stringToRegex(source)\n }\n\n return stringToRegex(text.toString())\n}\n\nexport function toRegExpString(text: string, func = 'RegExp'): string {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))}')`\n\n return regexp\n}\n","import { orderBy } from 'natural-orderby'\nimport { merge } from 'remeda'\n\nimport { camelCase, pascalCase, pathCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { stringify, stringifyObject } from './stringify.ts'\nimport { toRegExp, toRegExpString } from './toRegExp.ts'\nimport { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimQuotes } from './trim.ts'\n\nexport { camelCase, pascalCase, pathCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { stringify, stringifyObject } from './stringify.ts'\nexport { toRegExp, toRegExpString } from './toRegExp.ts'\nexport { transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimQuotes } from './trim.ts'\nexport { merge } from 'remeda'\nexport { orderBy } from 'natural-orderby'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n nameSorter,\n searchAndReplace,\n stringify,\n stringifyObject,\n toRegExp,\n toRegExpString,\n trim,\n trimQuotes,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\n camelCase,\n pascalCase,\n pathCase,\n} as const\n"]}
|