erii 2.0.6 → 3.0.0-beta.2

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/index.js DELETED
@@ -1,349 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Erii = void 0;
4
- const yargs = require('yargs-parser');
5
- const CLI = require('clui'), clc = require('cli-color');
6
- const chalk = require('chalk');
7
- const validator = require('validator');
8
- const convert_1 = require("./utils/convert");
9
- ;
10
- class Erii {
11
- constructor() {
12
- this.parsedArguments = {};
13
- this.version = "1.0.0";
14
- this.name = "Erii";
15
- this.commands = {};
16
- this.commonOptions = [];
17
- this.rawArguments = process.argv.slice(2);
18
- this.parsedArguments = yargs(process.argv.slice(2), {
19
- configuration: {
20
- "boolean-negation": false
21
- }
22
- });
23
- this.validator = validator;
24
- // 不响应-后第二个字符起的命令
25
- for (const key of Object.keys(this.parsedArguments)) {
26
- if (key !== "_" && (!this.rawArguments.includes('--' + key) && !this.rawArguments.includes('-' + key))) {
27
- delete this.parsedArguments[key];
28
- }
29
- }
30
- }
31
- /**
32
- * 绑定命令处理函数
33
- * @param config
34
- * @param handler
35
- */
36
- bind(config, handler) {
37
- if (config.name === undefined) {
38
- return console.error(chalk.red("Invalid command binding, ignored."));
39
- }
40
- const { name, description, argument } = config;
41
- const mainCommand = Array.isArray(name) ? name.shift() : name;
42
- this.commands[mainCommand] = {
43
- name: mainCommand,
44
- description,
45
- argument,
46
- alias: [],
47
- options: [],
48
- handler
49
- };
50
- if (Array.isArray(name)) {
51
- for (const alias of name) {
52
- this.commands[mainCommand].alias.push(alias);
53
- this.commands[alias] = {
54
- name: alias,
55
- redirect: mainCommand
56
- };
57
- }
58
- }
59
- }
60
- /**
61
- * 总是执行
62
- * @param handler
63
- */
64
- always(handler) {
65
- this.alwaysHandler = handler;
66
- }
67
- /**
68
- *
69
- */
70
- default(handler) {
71
- this.defaultHandler = handler;
72
- }
73
- /**
74
- * 增加设置项
75
- * @param config
76
- */
77
- addOption(config) {
78
- config.name = Array.isArray(config.name) ? config.name : [config.name];
79
- if (!config.command) {
80
- this.commonOptions.push(config);
81
- }
82
- else {
83
- if (!(config.command in this.commands)) {
84
- return console.error(chalk.red(`Command for option [${config.name.join(', ')}] not found, ignored.`));
85
- }
86
- this.commands[config.command].options.push(config);
87
- }
88
- }
89
- /**
90
- *
91
- * @param command
92
- */
93
- commandCtx(command) {
94
- return {
95
- showVersion: () => {
96
- this.showVersion();
97
- },
98
- showHelp: () => {
99
- this.showHelp();
100
- },
101
- getArgument: (commandName = command) => {
102
- return this.getArgument(commandName);
103
- }
104
- };
105
- }
106
- /**
107
- * 设定基础信息
108
- * @param metaInfo
109
- */
110
- setMetaInfo({ version = "", name = "" } = {}) {
111
- this.version = version;
112
- this.name = name;
113
- }
114
- /**
115
- * 显示帮助信息
116
- */
117
- showHelp(command) {
118
- this.showVersion();
119
- console.log('\nHelp:');
120
- const Line = CLI.Line;
121
- new Line()
122
- .padding(5)
123
- .column('Commands', 30, [clc.cyan])
124
- .column('Description', 30, [clc.cyan])
125
- .column('Alias', 20, [clc.cyan])
126
- .output();
127
- new Line().output();
128
- for (const key of Object.keys(this.commands)) {
129
- if (this.commands[key].redirect) {
130
- continue;
131
- }
132
- let commandText = '--' + key;
133
- let aliasText = '';
134
- if (this.commands[key].argument) {
135
- commandText += ` <${this.commands[key].argument.name}>`;
136
- }
137
- if (this.commands[key].alias.length > 0) {
138
- const aliasWithPrefixes = this.commands[key].alias.map(alias => alias.length === 1 ? `-${alias}` : `--${alias}`);
139
- aliasText += aliasWithPrefixes.join(' / ');
140
- }
141
- new Line()
142
- .padding(5)
143
- .column(commandText, 30)
144
- .column(this.commands[key].description, 30)
145
- .column(aliasText, 20)
146
- .output();
147
- if (this.commands[key].argument) {
148
- // 参数说明
149
- new Line()
150
- .padding(9)
151
- .column(`<${this.commands[key].argument.name}>`, 26)
152
- .column(this.commands[key].argument.description, 30)
153
- .output();
154
- }
155
- if (this.commands[key].options.length > 0) {
156
- // 设置项说明
157
- for (const option of this.commands[key].options) {
158
- let optionsText = '';
159
- const optionName = Array.isArray(option.name) ? option.name : [option.name];
160
- if (option.argument) {
161
- optionsText += `--${optionName.join(', ')} <${option.argument.name}>`;
162
- }
163
- else {
164
- optionsText += `--${optionName.join(', ')}`;
165
- }
166
- ;
167
- new Line()
168
- .padding(9)
169
- .column(optionsText, 26)
170
- .column(option.description || '')
171
- .output();
172
- if (option.argument) {
173
- // 设置项参数说明
174
- new Line()
175
- .padding(13)
176
- .column(`<${option.argument.name}>`, 22)
177
- .column(option.argument.description || '')
178
- .output();
179
- }
180
- }
181
- }
182
- }
183
- new Line().output();
184
- if (this.commonOptions.length > 0) {
185
- // 通用设置项说明
186
- console.log('Options:\n');
187
- new Line()
188
- .padding(5)
189
- .column('Options', 30, [clc.cyan])
190
- .column('Description', 30, [clc.cyan])
191
- .output();
192
- for (const option of this.commonOptions) {
193
- let optionsText = '';
194
- const optionName = Array.isArray(option.name) ? option.name : [option.name];
195
- if (option.argument) {
196
- optionsText += `--${optionName.join(', ')} <${option.argument.name}>`;
197
- }
198
- else {
199
- optionsText += `--${optionName.join(', ')}`;
200
- }
201
- ;
202
- new Line()
203
- .padding(5)
204
- .column(optionsText, 30)
205
- .column(option.description || '')
206
- .output();
207
- if (option.argument) {
208
- // 设置项参数说明
209
- new Line()
210
- .padding(9)
211
- .column(`<${option.argument.name}>`, 26)
212
- .column(option.argument.description || '')
213
- .output();
214
- }
215
- }
216
- }
217
- }
218
- /**
219
- * 显示版本号
220
- */
221
- showVersion() {
222
- console.log(`${this.name} / ${this.version}`);
223
- }
224
- /**
225
- * 启动
226
- */
227
- start() {
228
- if (this.alwaysHandler) {
229
- this.alwaysHandler();
230
- }
231
- if (this.defaultHandler) {
232
- if (this.parsedArguments['_'].length === 0 && Object.keys(this.parsedArguments).length === 1) {
233
- this.defaultHandler();
234
- }
235
- }
236
- for (const key of Object.keys(this.parsedArguments)) {
237
- if (key in this.commands) {
238
- this.exec(key);
239
- }
240
- }
241
- for (const key of this.parsedArguments['_']) {
242
- if (key in this.commands) {
243
- this.exec(key);
244
- }
245
- }
246
- }
247
- /**
248
- * 执行命令担当函数
249
- * @param command
250
- * @param extraArguments
251
- */
252
- exec(command) {
253
- if (this.commands[command].redirect) {
254
- // 别名重定向
255
- this.exec(this.commands[command].redirect);
256
- }
257
- else {
258
- // 传递绑定的设置及通用设置
259
- const options = {};
260
- const bandOptions = this.commands[command].options.concat(this.commonOptions);
261
- for (const option of bandOptions) {
262
- for (const name of option.name) {
263
- if (name in this.parsedArguments) {
264
- // do option argument validation
265
- if (this.validateArgument(this.parsedArguments[name], option.argument)) {
266
- options[option.name[0]] = this.parsedArguments[name];
267
- }
268
- else {
269
- console.error(chalk.red(`Argument validation failed for option '${name}'.`));
270
- if (typeof option.argument.validate === 'string') {
271
- console.error(chalk.red(`<${option.argument.name}> should be a/an ${option.argument.validate.slice(2)}.`));
272
- }
273
- }
274
- }
275
- }
276
- }
277
- // do command argument validation
278
- if (this.validateArgument(this.parsedArguments[command], this.commands[command].argument)) {
279
- this.commands[command].handler(this.commandCtx(command), convert_1.createCamelProxifiedObject(options));
280
- }
281
- else {
282
- console.error(chalk.red(`Argument validation failed for command ${command}`));
283
- const validateMethod = this.commands[command].argument.validate;
284
- if (typeof validateMethod === 'string') {
285
- console.error(chalk.red(`<${this.commands[command].argument.name}> should be a/an ${validateMethod.slice(2)}.`));
286
- }
287
- }
288
- }
289
- }
290
- validateArgument(argumentValue, argument) {
291
- if (!argument || !argument.validate) {
292
- // no need to validate
293
- return true;
294
- }
295
- if (typeof argument.validate === "string") {
296
- if (argument.validate in this.validator) {
297
- return this.validator[argument.validate](argumentValue.toString());
298
- }
299
- else {
300
- console.error(chalk.red(`Unknown validate method for ${argument.name}.`));
301
- return true;
302
- }
303
- }
304
- else {
305
- // custom validator
306
- return argument.validate(argumentValue, (message) => {
307
- console.log(chalk.red(message));
308
- });
309
- }
310
- }
311
- /**
312
- * 获得命令的参数
313
- * @param commandName
314
- * @param followRedirect 是否遵循重定向
315
- */
316
- getArgument(commandName, followRedirect = true) {
317
- if (this.commands[commandName]) {
318
- if (this.commands[commandName].redirect) {
319
- return this.getArgument(this.commands[commandName].redirect);
320
- }
321
- else {
322
- if (Object.keys(this.parsedArguments).includes(commandName) && commandName !== '_') {
323
- return this.parsedArguments[commandName];
324
- }
325
- else {
326
- for (const alias of this.commands[commandName].alias) {
327
- if (Object.keys(this.parsedArguments).includes(alias)) {
328
- return this.parsedArguments[alias];
329
- }
330
- }
331
- console.error(chalk.red(`Command ${commandName} not found.`));
332
- }
333
- }
334
- }
335
- else {
336
- console.error(chalk.red(`Command ${commandName} not found.`));
337
- }
338
- }
339
- /**
340
- * 启动
341
- * エリイ 起きてます❤
342
- */
343
- okite() {
344
- return this.start();
345
- }
346
- }
347
- exports.Erii = Erii;
348
- exports.default = new Erii();
349
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACtC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACxD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACvC,6CAA6D;AAoB5D,CAAC;AAcF,MAAa,IAAI;IAeb;QAbA,oBAAe,GAGX,EAAE,CAAC;QACC,YAAO,GAAW,OAAO,CAAC;QAC1B,SAAI,GAAW,MAAM,CAAC;QAE9B,aAAQ,GAAe,EAAE,CAAC;QAC1B,kBAAa,GAAa,EAAE,CAAC;QAMzB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAChD,aAAa,EAAE;gBACX,kBAAkB,EAAE,KAAK;aAC5B;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,iBAAiB;QACjB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACjD,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE;gBACpG,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;aACpC;SACJ;IACL,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,MAAe,EAAE,OAAoD;QACtE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;YAC3B,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;SACxE;QAED,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAE/C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG;YACzB,IAAI,EAAE,WAAW;YACjB,WAAW;YACX,QAAQ;YACR,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;YACX,OAAO;SACV,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;gBACtB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;oBACnB,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,WAAW;iBACxB,CAAC;aACL;SACJ;IACL,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAkB;QACrB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAkB;QACtB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAAc;QACpB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC;aAAM;YACH,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAC;gBACnC,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;aACzG;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtD;IACL,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,OAAe;QAC9B,OAAO;YACH,WAAW,EAAE,GAAG,EAAE;gBACd,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;YACD,WAAW,EAAE,CAAC,cAAsB,OAAO,EAAE,EAAE;gBAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;SACJ,CAAA;IACL,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,EACR,OAAO,GAAG,EAAE,EACZ,IAAI,GAAG,EAAE,EACZ,GAAG,EAAE;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAgB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAEtB,IAAI,IAAI,EAAE;aACL,OAAO,CAAC,CAAC,CAAC;aACV,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAClC,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACrC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/B,MAAM,EAAE,CAAC;QACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gBAC7B,SAAS;aACZ;YACD,IAAI,WAAW,GAAG,IAAI,GAAG,GAAG,CAAC;YAC7B,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gBAC7B,WAAW,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;aAC3D;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;gBACjH,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9C;YACD,IAAI,IAAI,EAAE;iBACL,OAAO,CAAC,CAAC,CAAC;iBACV,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;iBACvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;iBAC1C,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;iBACrB,MAAM,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gBAC7B,OAAO;gBACP,IAAI,IAAI,EAAE;qBACL,OAAO,CAAC,CAAC,CAAC;qBACV,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;qBACnD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;qBACnD,MAAM,EAAE,CAAC;aACjB;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,QAAQ;gBACR,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE;oBAC7C,IAAI,WAAW,GAAG,EAAE,CAAC;oBACrB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC5E,IAAI,MAAM,CAAC,QAAQ,EAAE;wBACjB,WAAW,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;qBACzE;yBAAM;wBACH,WAAW,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;qBAC9C;oBAAA,CAAC;oBACF,IAAI,IAAI,EAAE;yBACL,OAAO,CAAC,CAAC,CAAC;yBACV,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;yBACvB,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;yBAChC,MAAM,EAAE,CAAC;oBACd,IAAI,MAAM,CAAC,QAAQ,EAAE;wBACjB,UAAU;wBACV,IAAI,IAAI,EAAE;6BACT,OAAO,CAAC,EAAE,CAAC;6BACX,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;6BACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;6BACzC,MAAM,EAAE,CAAC;qBACb;iBACJ;aACJ;SACJ;QACD,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,UAAU;YACV,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1B,IAAI,IAAI,EAAE;iBACT,OAAO,CAAC,CAAC,CAAC;iBACV,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACjC,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACrC,MAAM,EAAE,CAAC;YACV,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;gBACrC,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5E,IAAI,MAAM,CAAC,QAAQ,EAAE;oBACjB,WAAW,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;iBACzE;qBAAM;oBACH,WAAW,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;iBAC9C;gBAAA,CAAC;gBACF,IAAI,IAAI,EAAE;qBACL,OAAO,CAAC,CAAC,CAAC;qBACV,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;qBACvB,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;qBAChC,MAAM,EAAE,CAAC;gBACd,IAAI,MAAM,CAAC,QAAQ,EAAE;oBACjB,UAAU;oBACV,IAAI,IAAI,EAAE;yBACT,OAAO,CAAC,CAAC,CAAC;yBACV,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;yBACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;yBACzC,MAAM,EAAE,CAAC;iBACb;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IACD;;OAEG;IACH,KAAK;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1F,IAAI,CAAC,cAAc,EAAE,CAAC;aACzB;SACJ;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACjD,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClB;SACJ;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YACzC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClB;SACJ;IACL,CAAC;IAED;;;;OAIG;IACK,IAAI,CAAC,OAAO;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;YACjC,QAAQ;YACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC9C;aAAM;YACH,eAAe;YACf,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9E,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE;gBAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC5B,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;wBAC9B,gCAAgC;wBAChC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;4BACpE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;yBACxD;6BAAM;4BACH,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,IAAI,IAAI,CAAC,CAAC,CAAC;4BAC7E,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;gCAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,oBAAoB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;6BAC7G;yBACJ;qBACJ;iBACJ;aACJ;YACD,iCAAiC;YACjC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE;gBACvF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,oCAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;aACjG;iBAAM;gBACH,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAChE,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;oBACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,oBAAoB,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;iBACnH;aACJ;SACJ;IACL,CAAC;IAED,gBAAgB,CAAC,aAAkB,EAAE,QAAkB;QACnD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACjC,sBAAsB;YACtB,OAAO,IAAI,CAAC;SACf;QACD,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACvC,IAAI,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;gBACrC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;aACtE;iBAAM;gBACH,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC1E,OAAO,IAAI,CAAC;aACf;SACJ;aAAM;YACH,mBAAmB;YACnB,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAe,EAAE,EAAE;gBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;YACnC,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,WAAmB,EAAE,cAAc,GAAG,IAAI;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;gBACrC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;aAChE;iBAAM;gBACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,KAAK,GAAG,EAAE;oBAChF,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAW,CAAC;iBACtD;qBAAM;oBACH,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;wBAClD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BACnD,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAW,CAAC;yBAChD;qBACJ;oBACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,WAAW,aAAa,CAAC,CAAC,CAAC;iBACjE;aACJ;SACJ;aAAM;YACH,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,WAAW,aAAa,CAAC,CAAC,CAAC;SACjE;IACL,CAAC;IAED;;;OAGG;IACH,KAAK;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACJ;AAjWD,oBAiWC;AAED,kBAAe,IAAI,IAAI,EAAE,CAAC"}
@@ -1,12 +0,0 @@
1
- export declare function toCamelCase(str: string): string;
2
- export declare function toKebabCase(str: string): string;
3
- export declare function convertObjectKey(before: {
4
- [index: string]: any;
5
- }): {
6
- [k: string]: any;
7
- };
8
- export declare function createCamelProxifiedObject(before: {
9
- [index: string]: any;
10
- }): {
11
- [index: string]: any;
12
- };
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCamelProxifiedObject = exports.convertObjectKey = exports.toKebabCase = exports.toCamelCase = void 0;
4
- function toCamelCase(str) {
5
- return str.replace(/([-_][a-z])/gi, ($1) => {
6
- return $1.toUpperCase().replace("-", "");
7
- });
8
- }
9
- exports.toCamelCase = toCamelCase;
10
- function toKebabCase(str) {
11
- return (str[0].toLowerCase() +
12
- str
13
- .slice(1, str.length)
14
- .replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`));
15
- }
16
- exports.toKebabCase = toKebabCase;
17
- function convertObjectKey(before) {
18
- return Object.fromEntries(Object.entries(before).map(([key, value]) => [toCamelCase(key), value]));
19
- }
20
- exports.convertObjectKey = convertObjectKey;
21
- function createCamelProxifiedObject(before) {
22
- const originalObject = before;
23
- return new Proxy(before, {
24
- get: (target, key) => {
25
- var _a;
26
- return (_a = originalObject[key]) !== null && _a !== void 0 ? _a : originalObject[toKebabCase(key)];
27
- },
28
- set: (target, key, value) => {
29
- // 如果赋值的是camel case的key,而驼峰形式key是从kebab case的key proxy来的 则赋值其kebab case形式的key的值
30
- if (!key.includes("-") &&
31
- (originalObject[key] === undefined ||
32
- originalObject[key] === null) &&
33
- originalObject[toKebabCase(key)] !== undefined &&
34
- originalObject[toKebabCase(key)] !== null) {
35
- target[toKebabCase(key)] = value;
36
- }
37
- else {
38
- target[key] = value;
39
- }
40
- return value;
41
- },
42
- });
43
- }
44
- exports.createCamelProxifiedObject = createCamelProxifiedObject;
45
- //# sourceMappingURL=convert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/utils/convert.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;QACvC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC;AAJD,kCAIC;AAED,SAAgB,WAAW,CAAC,GAAW;IACnC,OAAO,CACH,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QACpB,GAAG;aACE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;aACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CACjE,CAAC;AACN,CAAC;AAPD,kCAOC;AAED,SAAgB,gBAAgB,CAAC,MAAgC;IAC7D,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAC1E,CAAC;AACN,CAAC;AAJD,4CAIC;AAED,SAAgB,0BAA0B,CAAC,MAAgC;IACvE,MAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACrB,GAAG,EAAE,CAAC,MAAqB,EAAE,GAAW,EAAE,EAAE;;YACxC,aAAO,cAAc,CAAC,GAAG,CAAC,mCAAI,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,GAAG,EAAE,CAAC,MAAqB,EAAE,GAAW,EAAE,KAAU,EAAE,EAAE;YACpD,+EAA+E;YAC/E,IACI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAClB,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS;oBAC9B,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;gBACjC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS;gBAC9C,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAC3C;gBACE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;aACpC;iBAAM;gBACH,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACvB;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAtBD,gEAsBC"}