@kubb/core 3.0.0-alpha.10 → 3.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2EU7DMPM.js +2 -3
- package/dist/chunk-2EU7DMPM.js.map +1 -1
- package/dist/chunk-4X5FFJPJ.js +8 -13
- package/dist/chunk-4X5FFJPJ.js.map +1 -1
- package/dist/{chunk-NB4JMN75.cjs → chunk-52WA2JF5.cjs} +130 -142
- package/dist/chunk-52WA2JF5.cjs.map +1 -0
- package/dist/{chunk-SEH6NUCX.cjs → chunk-ADFKVVPE.cjs} +10 -10
- package/dist/chunk-ADFKVVPE.cjs.map +1 -0
- package/dist/{chunk-MU3CBCQT.js → chunk-E6CN2CZC.js} +12 -27
- package/dist/chunk-E6CN2CZC.js.map +1 -0
- package/dist/chunk-HBQM723K.js +12 -26
- package/dist/chunk-HBQM723K.js.map +1 -1
- package/dist/{chunk-A6PCLWEY.cjs → chunk-HMCSWG5L.cjs} +25 -26
- package/dist/chunk-HMCSWG5L.cjs.map +1 -0
- package/dist/chunk-L6YLVCKM.js +14 -49
- package/dist/chunk-L6YLVCKM.js.map +1 -1
- package/dist/{chunk-5E2I6KH4.cjs → chunk-PJLUPV3P.cjs} +54 -37
- package/dist/chunk-PJLUPV3P.cjs.map +1 -0
- package/dist/{chunk-DID47EQD.cjs → chunk-TTDCUWK7.cjs} +6 -7
- package/dist/chunk-TTDCUWK7.cjs.map +1 -0
- package/dist/{chunk-M7NLNCSM.cjs → chunk-YEVCYV36.cjs} +33 -36
- package/dist/chunk-YEVCYV36.cjs.map +1 -0
- package/dist/index.cjs +138 -147
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +17 -47
- package/dist/index.js.map +1 -1
- package/dist/logger.cjs +25 -14
- package/dist/logger.cjs.map +1 -1
- package/dist/logger.js +3 -13
- package/dist/logger.js.map +1 -1
- package/dist/mocks.cjs +13 -18
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.js +5 -12
- package/dist/mocks.js.map +1 -1
- package/dist/{prompt-DVQN7JTN.cjs → prompt-L5KFKY73.cjs} +89 -89
- package/dist/prompt-L5KFKY73.cjs.map +1 -0
- package/dist/prompt-WQQUN22Z.js +8 -13
- package/dist/prompt-WQQUN22Z.js.map +1 -1
- package/dist/transformers.cjs +62 -52
- package/dist/transformers.cjs.map +1 -1
- package/dist/transformers.js +9 -37
- package/dist/transformers.js.map +1 -1
- package/dist/utils.cjs +65 -34
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +3 -33
- package/dist/utils.js.map +1 -1
- package/package.json +7 -7
- package/src/logger.ts +3 -3
- package/dist/chunk-5E2I6KH4.cjs.map +0 -1
- package/dist/chunk-A6PCLWEY.cjs.map +0 -1
- package/dist/chunk-DID47EQD.cjs.map +0 -1
- package/dist/chunk-M7NLNCSM.cjs.map +0 -1
- package/dist/chunk-MU3CBCQT.js.map +0 -1
- package/dist/chunk-NB4JMN75.cjs.map +0 -1
- package/dist/chunk-SEH6NUCX.cjs.map +0 -1
- package/dist/prompt-DVQN7JTN.cjs.map +0 -1
package/dist/transformers.cjs
CHANGED
|
@@ -1,28 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkA6PCLWEYcjs = require('./chunk-A6PCLWEY.cjs');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _chunkSEH6NUCXcjs = require('./chunk-SEH6NUCX.cjs');
|
|
5
|
+
var chunkTTDCUWK7_cjs = require('./chunk-TTDCUWK7.cjs');
|
|
6
|
+
var chunkHMCSWG5L_cjs = require('./chunk-HMCSWG5L.cjs');
|
|
7
|
+
var chunkADFKVVPE_cjs = require('./chunk-ADFKVVPE.cjs');
|
|
8
|
+
var remeda = require('remeda');
|
|
13
9
|
|
|
14
10
|
// src/transformers/index.ts
|
|
15
|
-
|
|
16
|
-
var _remeda = require('remeda');
|
|
11
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
17
12
|
|
|
18
13
|
// src/transformers/combineCodes.ts
|
|
19
|
-
|
|
14
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
20
15
|
function combineCodes(codes) {
|
|
21
16
|
return codes.join("\n");
|
|
22
17
|
}
|
|
23
18
|
|
|
24
19
|
// src/transformers/createJSDocBlockText.ts
|
|
25
|
-
|
|
20
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
26
21
|
function createJSDocBlockText({ comments }) {
|
|
27
22
|
const filteredComments = comments.filter(Boolean);
|
|
28
23
|
if (!filteredComments.length) {
|
|
@@ -34,7 +29,7 @@ function createJSDocBlockText({ comments }) {
|
|
|
34
29
|
}
|
|
35
30
|
|
|
36
31
|
// src/transformers/escape.ts
|
|
37
|
-
|
|
32
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
38
33
|
function escape(text) {
|
|
39
34
|
return text ? text.replaceAll("`", "\\`") : "";
|
|
40
35
|
}
|
|
@@ -60,13 +55,13 @@ function jsStringEscape(input) {
|
|
|
60
55
|
}
|
|
61
56
|
|
|
62
57
|
// src/transformers/indent.ts
|
|
63
|
-
|
|
58
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
64
59
|
function createIndent(size) {
|
|
65
60
|
return Array.from({ length: size + 1 }).join(" ");
|
|
66
61
|
}
|
|
67
62
|
|
|
68
63
|
// src/transformers/nameSorter.ts
|
|
69
|
-
|
|
64
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
70
65
|
function nameSorter(a, b) {
|
|
71
66
|
if (a.name < b.name) {
|
|
72
67
|
return -1;
|
|
@@ -78,10 +73,10 @@ function nameSorter(a, b) {
|
|
|
78
73
|
}
|
|
79
74
|
|
|
80
75
|
// src/transformers/searchAndReplace.ts
|
|
81
|
-
|
|
76
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
82
77
|
function searchAndReplace(options) {
|
|
83
78
|
const { text, replaceBy, prefix = "", key } = options;
|
|
84
|
-
const searchValues =
|
|
79
|
+
const searchValues = options.searchValues?.(prefix, key) || [
|
|
85
80
|
`${prefix}["${key}"]`,
|
|
86
81
|
`${prefix}['${key}']`,
|
|
87
82
|
`${prefix}[\`${key}\`]`,
|
|
@@ -96,10 +91,10 @@ function searchAndReplace(options) {
|
|
|
96
91
|
}
|
|
97
92
|
|
|
98
93
|
// src/transformers/stringify.ts
|
|
99
|
-
|
|
94
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
100
95
|
|
|
101
96
|
// src/transformers/trim.ts
|
|
102
|
-
|
|
97
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
103
98
|
function trim(text) {
|
|
104
99
|
return text.replaceAll(/\n/g, "").trim();
|
|
105
100
|
}
|
|
@@ -136,7 +131,7 @@ function stringifyObject(value) {
|
|
|
136
131
|
}
|
|
137
132
|
|
|
138
133
|
// src/transformers/toRegExp.ts
|
|
139
|
-
|
|
134
|
+
chunkADFKVVPE_cjs.init_cjs_shims();
|
|
140
135
|
function stringToRegex(text) {
|
|
141
136
|
const isStartWithSlash = text.startsWith("/");
|
|
142
137
|
const isEndWithSlash = text.endsWith("/");
|
|
@@ -155,15 +150,12 @@ function toRegExpString(text, func = "RegExp") {
|
|
|
155
150
|
const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0))}')`;
|
|
156
151
|
return regexp;
|
|
157
152
|
}
|
|
158
|
-
|
|
159
|
-
// src/transformers/index.ts
|
|
160
|
-
|
|
161
153
|
var transformers_default = {
|
|
162
154
|
combineCodes,
|
|
163
155
|
escape,
|
|
164
156
|
jsStringEscape,
|
|
165
157
|
createIndent,
|
|
166
|
-
transformReservedWord:
|
|
158
|
+
transformReservedWord: chunkTTDCUWK7_cjs.transformReservedWord,
|
|
167
159
|
nameSorter,
|
|
168
160
|
searchAndReplace,
|
|
169
161
|
stringify,
|
|
@@ -175,32 +167,50 @@ var transformers_default = {
|
|
|
175
167
|
JSDoc: {
|
|
176
168
|
createJSDocBlockText
|
|
177
169
|
},
|
|
178
|
-
orderBy:
|
|
179
|
-
merge:
|
|
180
|
-
camelCase:
|
|
181
|
-
pascalCase:
|
|
182
|
-
pathCase:
|
|
170
|
+
orderBy: chunkHMCSWG5L_cjs.orderBy,
|
|
171
|
+
merge: remeda.merge,
|
|
172
|
+
camelCase: chunkHMCSWG5L_cjs.camelCase,
|
|
173
|
+
pascalCase: chunkHMCSWG5L_cjs.pascalCase,
|
|
174
|
+
pathCase: chunkHMCSWG5L_cjs.pathCase
|
|
183
175
|
};
|
|
184
176
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
177
|
+
Object.defineProperty(exports, "transformReservedWord", {
|
|
178
|
+
enumerable: true,
|
|
179
|
+
get: function () { return chunkTTDCUWK7_cjs.transformReservedWord; }
|
|
180
|
+
});
|
|
181
|
+
Object.defineProperty(exports, "camelCase", {
|
|
182
|
+
enumerable: true,
|
|
183
|
+
get: function () { return chunkHMCSWG5L_cjs.camelCase; }
|
|
184
|
+
});
|
|
185
|
+
Object.defineProperty(exports, "orderBy", {
|
|
186
|
+
enumerable: true,
|
|
187
|
+
get: function () { return chunkHMCSWG5L_cjs.orderBy; }
|
|
188
|
+
});
|
|
189
|
+
Object.defineProperty(exports, "pascalCase", {
|
|
190
|
+
enumerable: true,
|
|
191
|
+
get: function () { return chunkHMCSWG5L_cjs.pascalCase; }
|
|
192
|
+
});
|
|
193
|
+
Object.defineProperty(exports, "pathCase", {
|
|
194
|
+
enumerable: true,
|
|
195
|
+
get: function () { return chunkHMCSWG5L_cjs.pathCase; }
|
|
196
|
+
});
|
|
197
|
+
Object.defineProperty(exports, "merge", {
|
|
198
|
+
enumerable: true,
|
|
199
|
+
get: function () { return remeda.merge; }
|
|
200
|
+
});
|
|
201
|
+
exports.combineCodes = combineCodes;
|
|
202
|
+
exports.createIndent = createIndent;
|
|
203
|
+
exports.createJSDocBlockText = createJSDocBlockText;
|
|
204
|
+
exports.default = transformers_default;
|
|
205
|
+
exports.escape = escape;
|
|
206
|
+
exports.jsStringEscape = jsStringEscape;
|
|
207
|
+
exports.nameSorter = nameSorter;
|
|
208
|
+
exports.searchAndReplace = searchAndReplace;
|
|
209
|
+
exports.stringify = stringify;
|
|
210
|
+
exports.stringifyObject = stringifyObject;
|
|
211
|
+
exports.toRegExp = toRegExp;
|
|
212
|
+
exports.toRegExpString = toRegExpString;
|
|
213
|
+
exports.trim = trim;
|
|
214
|
+
exports.trimQuotes = trimQuotes;
|
|
215
|
+
//# sourceMappingURL=transformers.cjs.map
|
|
206
216
|
//# sourceMappingURL=transformers.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/transformers.cjs","../src/transformers/index.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/stringify.ts","../src/transformers/trim.ts","../src/transformers/toRegExp.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACbA,8CAAA,CAAA;AACA,gCAAsB;ADetB;AACA;AEjBA,8CAAA,CAAA;AAAO,SAAS,YAAA,CAAa,KAAA,EAAyB;AACpD,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AACxB;AFoBA;AACA;AGvBA,8CAAA,CAAA;AAAO,SAAS,oBAAA,CAAqB,EAAE,SAAS,CAAA,EAAwC;AACtF,EAAA,MAAM,iBAAA,EAAmB,QAAA,CAAS,MAAA,CAAO,OAAO,CAAA;AAEhD,EAAA,GAAA,CAAI,CAAC,gBAAA,CAAiB,MAAA,EAAQ;AAC5B,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,OAAO,CAAA;AAAA,GAAA,EAAW,gBAAA,CAAiB,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,GAAA,CAAA;AAClD;AH0BA;AACA;AInCA,8CAAA,CAAA;AAAO,SAAS,MAAA,CAAO,IAAA,EAAuB;AAC5C,EAAA,OAAO,KAAA,EAAO,IAAA,CAAK,UAAA,CAAW,GAAA,EAAK,KAAK,EAAA,EAAI,EAAA;AAC9C;AAQO,SAAS,cAAA,CAAe,KAAA,EAAoB;AACjD,EAAA,OAAO,CAAA,EAAA;AACL,IAAA;AACE,MAAA;AACA,MAAA;AACA,MAAA;AACE,QAAA;AAEF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACF,MAAA;AACE,QAAA;AACJ,IAAA;AACD,EAAA;AACH;AJ8BU;AACA;AK7DV;AAAgB;AACP,EAAA;AACT;ALgEU;AACA;AMnEV;AAAgB;AACR,EAAA;AACJ,IAAA;AACF,EAAA;AACM,EAAA;AACJ,IAAA;AACF,EAAA;AACO,EAAA;AACT;ANsEU;AACA;AO/EV;AAQgB;AACN,EAAA;AAEF,EAAA;AACD,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACC,IAAA;AACN,EAAA;AAEO,EAAA;AACL,IAAA;AACK,EAAA;AACT;APwEU;AACA;AQjGV;ARmGU;AACA;ASpGV;AAAgB;AACP,EAAA;AACT;AAEgB;AACV,EAAA;AACF,IAAA;AACF,EAAA;AACI,EAAA;AACF,IAAA;AACF,EAAA;AAEI,EAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AToGU;AACA;AQpHM;AACV,EAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAEgB;AACR,EAAA;AAEE,IAAA;AACF,MAAA;AACE,QAAA;AAAsB,OAAA;AAE1B,IAAA;AAEA,IAAA;AAED,EAAA;AAEI,EAAA;AACT;ARgHU;AACA;AUzIV;AAGS;AACD,EAAA;AACA,EAAA;AAEC,EAAA;AACT;AAKgB;AACV,EAAA;AACI,IAAA;AAEN,IAAA;AACF,EAAA;AAEO,EAAA;AACT;AAEgB;AACR,EAAA;AACA,EAAA;AAEA,EAAA;AAEC,EAAA;AACT;AV+HU;AACA;ACpID;AAGF;AACL,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACO,EAAA;AACL,IAAA;AACF,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACF;ADoIU;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/kubb/kubb/packages/core/dist/transformers.cjs","sourcesContent":[null,"import { orderBy } from 'natural-orderby'\nimport { merge } from 'remeda'\n\nimport { camelCase, pascalCase, pathCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { stringify, stringifyObject } from './stringify.ts'\nimport { toRegExp, toRegExpString } from './toRegExp.ts'\nimport { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, 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\nexport function escapeStringRegexp(string: string) {\n if (typeof string !== 'string') {\n throw new TypeError('Expected a string')\n }\n\n // Escape characters with special meaning either inside or outside character sets.\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d')\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | undefined): string {\n if (value === undefined || value === null) {\n return '\"\"'\n }\n\n return JSON.stringify(trimQuotes(value.toString()))\n}\n\nexport function stringifyObject(value: object): string {\n const items = Object.entries(value)\n .map(([key, value]) => {\n if (typeof value === 'object') {\n return `${key}: {\n ${stringifyObject(value)}\n }`\n }\n\n return `${key}: ${value}`\n })\n .filter(Boolean)\n\n return items.join(',\\n')\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","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"]}
|
|
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":"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","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\nexport function escapeStringRegexp(string: string) {\n if (typeof string !== 'string') {\n throw new TypeError('Expected a string')\n }\n\n // Escape characters with special meaning either inside or outside character sets.\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d')\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | undefined): string {\n if (value === undefined || value === null) {\n return '\"\"'\n }\n\n return JSON.stringify(trimQuotes(value.toString()))\n}\n\nexport function stringifyObject(value: object): string {\n const items = Object.entries(value)\n .map(([key, value]) => {\n if (typeof value === 'object') {\n return `${key}: {\n ${stringifyObject(value)}\n }`\n }\n\n return `${key}: ${value}`\n })\n .filter(Boolean)\n\n return items.join(',\\n')\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","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.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
pascalCase,
|
|
8
|
-
pathCase
|
|
9
|
-
} from "./chunk-4X5FFJPJ.js";
|
|
10
|
-
|
|
11
|
-
// src/transformers/index.ts
|
|
12
|
-
import { merge } from "remeda";
|
|
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';
|
|
13
7
|
|
|
14
8
|
// src/transformers/combineCodes.ts
|
|
15
9
|
function combineCodes(codes) {
|
|
@@ -140,9 +134,6 @@ function toRegExpString(text, func = "RegExp") {
|
|
|
140
134
|
const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0))}')`;
|
|
141
135
|
return regexp;
|
|
142
136
|
}
|
|
143
|
-
|
|
144
|
-
// src/transformers/index.ts
|
|
145
|
-
import { merge as merge2 } from "remeda";
|
|
146
137
|
var transformers_default = {
|
|
147
138
|
combineCodes,
|
|
148
139
|
escape,
|
|
@@ -166,26 +157,7 @@ var transformers_default = {
|
|
|
166
157
|
pascalCase,
|
|
167
158
|
pathCase
|
|
168
159
|
};
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
createIndent,
|
|
173
|
-
createJSDocBlockText,
|
|
174
|
-
transformers_default as default,
|
|
175
|
-
escape,
|
|
176
|
-
jsStringEscape,
|
|
177
|
-
merge2 as merge,
|
|
178
|
-
nameSorter,
|
|
179
|
-
orderBy,
|
|
180
|
-
pascalCase,
|
|
181
|
-
pathCase,
|
|
182
|
-
searchAndReplace,
|
|
183
|
-
stringify,
|
|
184
|
-
stringifyObject,
|
|
185
|
-
toRegExp,
|
|
186
|
-
toRegExpString,
|
|
187
|
-
transformReservedWord,
|
|
188
|
-
trim,
|
|
189
|
-
trimQuotes
|
|
190
|
-
};
|
|
160
|
+
|
|
161
|
+
export { combineCodes, createIndent, createJSDocBlockText, transformers_default as default, escape, jsStringEscape, nameSorter, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, trim, trimQuotes };
|
|
162
|
+
//# sourceMappingURL=transformers.js.map
|
|
191
163
|
//# sourceMappingURL=transformers.js.map
|
package/dist/transformers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/transformers/index.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/trim.ts","../src/transformers/stringify.ts","../src/transformers/toRegExp.ts"],"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\nexport function escapeStringRegexp(string: string) {\n if (typeof string !== 'string') {\n throw new TypeError('Expected a string')\n }\n\n // Escape characters with special meaning either inside or outside character sets.\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d')\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | undefined): string {\n if (value === undefined || value === null) {\n return '\"\"'\n }\n\n return JSON.stringify(trimQuotes(value.toString()))\n}\n\nexport function stringifyObject(value: object): string {\n const items = Object.entries(value)\n .map(([key, value]) => {\n if (typeof value === 'object') {\n return `${key}: {\n ${stringifyObject(value)}\n }`\n }\n\n return `${key}: ${value}`\n })\n .filter(Boolean)\n\n return items.join(',\\n')\n}\n","import { jsStringEscape } from './escape'\nimport { trimQuotes } from './trim'\n\nfunction stringToRegex(text: string) {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))\n}\n\n/**\n * @experimental\n */\nexport function toRegExp(text: string | RegExp): RegExp {\n if (typeof text === 'string') {\n const source = trimQuotes(text)\n\n return stringToRegex(source)\n }\n\n return stringToRegex(text.toString())\n}\n\nexport function toRegExpString(text: string, func = 'RegExp'): string {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))}')`\n\n return regexp\n}\n"],"mappings":"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","names":["value","merge"]}
|
|
1
|
+
{"version":3,"sources":["../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/trim.ts","../src/transformers/stringify.ts","../src/transformers/toRegExp.ts","../src/transformers/index.ts"],"names":["value"],"mappings":"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","file":"transformers.js","sourcesContent":["export function combineCodes(codes: string[]): string {\n return codes.join('\\n')\n}\n","export function createJSDocBlockText({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","export function escape(text?: string): string {\n return text ? text.replaceAll('`', '\\\\`') : ''\n}\n\n/**\n * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on\n * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4\n * @link https://github.com/joliss/js-string-escape/blob/master/index.js\n */\n\nexport function jsStringEscape(input: any): string {\n return `${input}`.replace(/[\"'\\\\\\n\\r\\u2028\\u2029]/g, (character) => {\n switch (character) {\n case '\"':\n case \"'\":\n case '\\\\':\n return `\\\\${character}`\n // Four possible LineTerminator characters need to be escaped:\n case '\\n':\n return '\\\\n'\n case '\\r':\n return '\\\\r'\n case '\\u2028':\n return '\\\\u2028'\n case '\\u2029':\n return '\\\\u2029'\n default:\n return ''\n }\n })\n}\n\nexport function escapeStringRegexp(string: string) {\n if (typeof string !== 'string') {\n throw new TypeError('Expected a string')\n }\n\n // Escape characters with special meaning either inside or outside character sets.\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d')\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | undefined): string {\n if (value === undefined || value === null) {\n return '\"\"'\n }\n\n return JSON.stringify(trimQuotes(value.toString()))\n}\n\nexport function stringifyObject(value: object): string {\n const items = Object.entries(value)\n .map(([key, value]) => {\n if (typeof value === 'object') {\n return `${key}: {\n ${stringifyObject(value)}\n }`\n }\n\n return `${key}: ${value}`\n })\n .filter(Boolean)\n\n return items.join(',\\n')\n}\n","import { jsStringEscape } from './escape'\nimport { trimQuotes } from './trim'\n\nfunction stringToRegex(text: string) {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))\n}\n\n/**\n * @experimental\n */\nexport function toRegExp(text: string | RegExp): RegExp {\n if (typeof text === 'string') {\n const source = trimQuotes(text)\n\n return stringToRegex(source)\n }\n\n return stringToRegex(text.toString())\n}\n\nexport function toRegExpString(text: string, func = 'RegExp'): string {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))}')`\n\n return regexp\n}\n","import { orderBy } from 'natural-orderby'\nimport { merge } from 'remeda'\n\nimport { camelCase, pascalCase, pathCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { stringify, stringifyObject } from './stringify.ts'\nimport { toRegExp, toRegExpString } from './toRegExp.ts'\nimport { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimQuotes } from './trim.ts'\n\nexport { camelCase, pascalCase, pathCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { stringify, stringifyObject } from './stringify.ts'\nexport { toRegExp, toRegExpString } from './toRegExp.ts'\nexport { transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimQuotes } from './trim.ts'\nexport { merge } from 'remeda'\nexport { orderBy } from 'natural-orderby'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n nameSorter,\n searchAndReplace,\n stringify,\n stringifyObject,\n toRegExp,\n toRegExpString,\n trim,\n trimQuotes,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\n camelCase,\n pascalCase,\n pathCase,\n} as const\n"]}
|
package/dist/utils.cjs
CHANGED
|
@@ -1,35 +1,66 @@
|
|
|
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
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk52WA2JF5_cjs = require('./chunk-52WA2JF5.cjs');
|
|
4
|
+
require('./chunk-HMCSWG5L.cjs');
|
|
5
|
+
require('./chunk-ADFKVVPE.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "FunctionParams", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () { return chunk52WA2JF5_cjs.FunctionParams; }
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "URLPath", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return chunk52WA2JF5_cjs.URLPath; }
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "createFile", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () { return chunk52WA2JF5_cjs.createFile; }
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(exports, "createFileExport", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return chunk52WA2JF5_cjs.createFileExport; }
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "createFileImport", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () { return chunk52WA2JF5_cjs.createFileImport; }
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "createFileParser", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () { return chunk52WA2JF5_cjs.createFileParser; }
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(exports, "getFileParser", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
get: function () { return chunk52WA2JF5_cjs.getFileParser; }
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(exports, "getUniqueName", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () { return chunk52WA2JF5_cjs.getUniqueName; }
|
|
40
|
+
});
|
|
41
|
+
Object.defineProperty(exports, "isPromise", {
|
|
42
|
+
enumerable: true,
|
|
43
|
+
get: function () { return chunk52WA2JF5_cjs.isPromise; }
|
|
44
|
+
});
|
|
45
|
+
Object.defineProperty(exports, "isPromiseFulfilledResult", {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
get: function () { return chunk52WA2JF5_cjs.isPromiseFulfilledResult; }
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(exports, "isPromiseRejectedResult", {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function () { return chunk52WA2JF5_cjs.isPromiseRejectedResult; }
|
|
52
|
+
});
|
|
53
|
+
Object.defineProperty(exports, "renderTemplate", {
|
|
54
|
+
enumerable: true,
|
|
55
|
+
get: function () { return chunk52WA2JF5_cjs.renderTemplate; }
|
|
56
|
+
});
|
|
57
|
+
Object.defineProperty(exports, "setUniqueName", {
|
|
58
|
+
enumerable: true,
|
|
59
|
+
get: function () { return chunk52WA2JF5_cjs.setUniqueName; }
|
|
60
|
+
});
|
|
61
|
+
Object.defineProperty(exports, "timeout", {
|
|
62
|
+
enumerable: true,
|
|
63
|
+
get: function () { return chunk52WA2JF5_cjs.timeout; }
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=utils.cjs.map
|
|
35
66
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/utils.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"utils.cjs"}
|
package/dist/utils.js
CHANGED
|
@@ -1,34 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
createFile,
|
|
5
|
-
createFileExport,
|
|
6
|
-
createFileImport,
|
|
7
|
-
createFileParser,
|
|
8
|
-
getFileParser,
|
|
9
|
-
getUniqueName,
|
|
10
|
-
isPromise,
|
|
11
|
-
isPromiseFulfilledResult,
|
|
12
|
-
isPromiseRejectedResult,
|
|
13
|
-
renderTemplate,
|
|
14
|
-
setUniqueName,
|
|
15
|
-
timeout
|
|
16
|
-
} from "./chunk-L6YLVCKM.js";
|
|
17
|
-
import "./chunk-4X5FFJPJ.js";
|
|
18
|
-
export {
|
|
19
|
-
FunctionParams,
|
|
20
|
-
URLPath,
|
|
21
|
-
createFile,
|
|
22
|
-
createFileExport,
|
|
23
|
-
createFileImport,
|
|
24
|
-
createFileParser,
|
|
25
|
-
getFileParser,
|
|
26
|
-
getUniqueName,
|
|
27
|
-
isPromise,
|
|
28
|
-
isPromiseFulfilledResult,
|
|
29
|
-
isPromiseRejectedResult,
|
|
30
|
-
renderTemplate,
|
|
31
|
-
setUniqueName,
|
|
32
|
-
timeout
|
|
33
|
-
};
|
|
1
|
+
export { FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout } from './chunk-L6YLVCKM.js';
|
|
2
|
+
import './chunk-4X5FFJPJ.js';
|
|
3
|
+
//# sourceMappingURL=utils.js.map
|
|
34
4
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"utils.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/core",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.11",
|
|
4
4
|
"description": "Generator core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -84,9 +84,9 @@
|
|
|
84
84
|
"seedrandom": "^3.0.5",
|
|
85
85
|
"semver": "^7.6.3",
|
|
86
86
|
"unraw": "^3.0.0",
|
|
87
|
-
"@kubb/fs": "3.0.0-alpha.
|
|
88
|
-
"@kubb/parser-ts": "3.0.0-alpha.
|
|
89
|
-
"@kubb/types": "3.0.0-alpha.
|
|
87
|
+
"@kubb/fs": "3.0.0-alpha.11",
|
|
88
|
+
"@kubb/parser-ts": "3.0.0-alpha.11",
|
|
89
|
+
"@kubb/types": "3.0.0-alpha.11"
|
|
90
90
|
},
|
|
91
91
|
"devDependencies": {
|
|
92
92
|
"@types/object-hash": "^3.0.6",
|
|
@@ -98,9 +98,9 @@
|
|
|
98
98
|
"tinyrainbow": "^1.2.0",
|
|
99
99
|
"tsup": "^8.2.4",
|
|
100
100
|
"typescript": "^5.5.4",
|
|
101
|
-
"@kubb/config-biome": "3.0.0-alpha.
|
|
102
|
-
"@kubb/config-ts": "3.0.0-alpha.
|
|
103
|
-
"@kubb/config-tsup": "3.0.0-alpha.
|
|
101
|
+
"@kubb/config-biome": "3.0.0-alpha.11",
|
|
102
|
+
"@kubb/config-ts": "3.0.0-alpha.11",
|
|
103
|
+
"@kubb/config-tsup": "3.0.0-alpha.11"
|
|
104
104
|
},
|
|
105
105
|
"engines": {
|
|
106
106
|
"node": ">=20"
|
package/src/logger.ts
CHANGED
|
@@ -3,10 +3,10 @@ import c, { createColors } from 'tinyrainbow'
|
|
|
3
3
|
|
|
4
4
|
import { EventEmitter } from './utils/EventEmitter.ts'
|
|
5
5
|
|
|
6
|
+
import { resolve } from 'node:path'
|
|
7
|
+
import { write } from '@kubb/fs'
|
|
6
8
|
import { type ConsolaInstance, type LogLevel, createConsola } from 'consola'
|
|
7
9
|
import type { Formatter } from 'tinyrainbow'
|
|
8
|
-
import { write } from '@kubb/fs'
|
|
9
|
-
import { resolve } from 'node:path'
|
|
10
10
|
|
|
11
11
|
type DebugEvent = { date: Date; logs: string[]; fileName?: string }
|
|
12
12
|
|
|
@@ -58,7 +58,7 @@ export function createLogger({ logLevel = 3, name, consola: _consola }: Props =
|
|
|
58
58
|
formatOptions: {
|
|
59
59
|
colors: true,
|
|
60
60
|
date: true,
|
|
61
|
-
columns:
|
|
61
|
+
columns: 80,
|
|
62
62
|
compact: logLevel !== LogMapper.debug,
|
|
63
63
|
},
|
|
64
64
|
}).withTag(name ? randomCliColour(name) : '')
|