clerc 0.8.0 → 0.8.1
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.cjs +11 -6
- package/dist/index.d.ts +5 -1
- package/dist/index.mjs +11 -7
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -53,11 +53,7 @@ class CommandNameConflictError extends Error {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
function
|
|
57
|
-
if (name === SingleCommand) {
|
|
58
|
-
return commands[SingleCommand];
|
|
59
|
-
}
|
|
60
|
-
const nameArr = utils.mustArray(name);
|
|
56
|
+
function resolveFlattenCommands(commands) {
|
|
61
57
|
const commandsMap = /* @__PURE__ */ new Map();
|
|
62
58
|
for (const command of Object.values(commands)) {
|
|
63
59
|
if (command.alias) {
|
|
@@ -66,11 +62,19 @@ function resolveCommand(commands, name) {
|
|
|
66
62
|
if (alias in commands) {
|
|
67
63
|
throw new CommandNameConflictError(commands[alias].name, command.name);
|
|
68
64
|
}
|
|
69
|
-
commandsMap.set(alias.split(" "), command);
|
|
65
|
+
commandsMap.set(alias.split(" "), { ...command, __isAlias: true });
|
|
70
66
|
}
|
|
71
67
|
}
|
|
72
68
|
commandsMap.set(command.name.split(" "), command);
|
|
73
69
|
}
|
|
70
|
+
return commandsMap;
|
|
71
|
+
}
|
|
72
|
+
function resolveCommand(commands, name) {
|
|
73
|
+
if (name === SingleCommand) {
|
|
74
|
+
return commands[SingleCommand];
|
|
75
|
+
}
|
|
76
|
+
const nameArr = utils.mustArray(name);
|
|
77
|
+
const commandsMap = resolveFlattenCommands(commands);
|
|
74
78
|
const possibleCommands = [];
|
|
75
79
|
commandsMap.forEach((v, k) => {
|
|
76
80
|
if (utils.arrayStartsWith(nameArr, k)) {
|
|
@@ -384,6 +388,7 @@ exports.mapParametersToArguments = mapParametersToArguments;
|
|
|
384
388
|
exports.parseParameters = parseParameters;
|
|
385
389
|
exports.resolveArgv = resolveArgv;
|
|
386
390
|
exports.resolveCommand = resolveCommand;
|
|
391
|
+
exports.resolveFlattenCommands = resolveFlattenCommands;
|
|
387
392
|
exports.resolveParametersBeforeFlag = resolveParametersBeforeFlag;
|
|
388
393
|
exports.resolveRootCommands = resolveRootCommands;
|
|
389
394
|
exports.resolveSubcommandsByParent = resolveSubcommandsByParent;
|
package/dist/index.d.ts
CHANGED
|
@@ -89,6 +89,9 @@ type Command<N extends string | SingleCommandType = string, O extends CommandOpt
|
|
|
89
89
|
name: N;
|
|
90
90
|
description: string;
|
|
91
91
|
};
|
|
92
|
+
type CommandAlias<N extends string | SingleCommandType = string, O extends CommandOptions = CommandOptions> = Command<N, O> & {
|
|
93
|
+
__isAlias?: true;
|
|
94
|
+
};
|
|
92
95
|
type CommandWithHandler<N extends string | SingleCommandType = string, O extends CommandOptions = CommandOptions> = Command<N, O> & {
|
|
93
96
|
handler?: HandlerInCommand<Record<N, Command<N, O>>, N>;
|
|
94
97
|
};
|
|
@@ -299,6 +302,7 @@ declare class CommandNameConflictError extends Error {
|
|
|
299
302
|
constructor(n1: string, n2: string);
|
|
300
303
|
}
|
|
301
304
|
|
|
305
|
+
declare function resolveFlattenCommands(commands: CommandRecord): Map<string[], CommandAlias<string, CommandOptions<string[], _clerc_utils.MaybeArray<string>, _clerc_utils.Dict<FlagOptions>>>>;
|
|
302
306
|
declare function resolveCommand(commands: CommandRecord, name: string | string[] | SingleCommandType): Command | undefined;
|
|
303
307
|
declare function resolveSubcommandsByParent(commands: CommandRecord, parent: string | string[], depth?: number): Command<string, CommandOptions<string[], _clerc_utils.MaybeArray<string>, _clerc_utils.Dict<FlagOptions>>>[];
|
|
304
308
|
declare const resolveRootCommands: (commands: CommandRecord) => Command<string, CommandOptions<string[], _clerc_utils.MaybeArray<string>, _clerc_utils.Dict<FlagOptions>>>[];
|
|
@@ -314,4 +318,4 @@ interface ParsedParameter {
|
|
|
314
318
|
declare function parseParameters(parameters: string[]): ParsedParameter[];
|
|
315
319
|
declare function mapParametersToArguments(mapping: Record<string, string | string[]>, parameters: ParsedParameter[], cliArguments: string[]): undefined;
|
|
316
320
|
|
|
317
|
-
export { Clerc, Command, CommandCustomProperties, CommandExistsError, CommandNameConflictError, CommandOptions, CommandRecord, CommandWithHandler, CommonCommandExistsError, FallbackType, Flag, FlagOptions, Handler, HandlerContext, HandlerInCommand, Inspector, InspectorContext, MakeEventMap, MultipleCommandsMatchedError, NoSuchCommandError, ParentCommandExistsError, Plugin, PossibleInputKind, SingleCommand, SingleCommandAliasError, SingleCommandError, SingleCommandType, SubcommandExistsError, compose, defineCommand, defineCommandWithHandler, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
|
|
321
|
+
export { Clerc, Command, CommandAlias, CommandCustomProperties, CommandExistsError, CommandNameConflictError, CommandOptions, CommandRecord, CommandWithHandler, CommonCommandExistsError, FallbackType, Flag, FlagOptions, Handler, HandlerContext, HandlerInCommand, Inspector, InspectorContext, MakeEventMap, MultipleCommandsMatchedError, NoSuchCommandError, ParentCommandExistsError, Plugin, PossibleInputKind, SingleCommand, SingleCommandAliasError, SingleCommandError, SingleCommandType, SubcommandExistsError, compose, defineCommand, defineCommandWithHandler, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
|
package/dist/index.mjs
CHANGED
|
@@ -49,11 +49,7 @@ class CommandNameConflictError extends Error {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
function
|
|
53
|
-
if (name === SingleCommand) {
|
|
54
|
-
return commands[SingleCommand];
|
|
55
|
-
}
|
|
56
|
-
const nameArr = mustArray(name);
|
|
52
|
+
function resolveFlattenCommands(commands) {
|
|
57
53
|
const commandsMap = /* @__PURE__ */ new Map();
|
|
58
54
|
for (const command of Object.values(commands)) {
|
|
59
55
|
if (command.alias) {
|
|
@@ -62,11 +58,19 @@ function resolveCommand(commands, name) {
|
|
|
62
58
|
if (alias in commands) {
|
|
63
59
|
throw new CommandNameConflictError(commands[alias].name, command.name);
|
|
64
60
|
}
|
|
65
|
-
commandsMap.set(alias.split(" "), command);
|
|
61
|
+
commandsMap.set(alias.split(" "), { ...command, __isAlias: true });
|
|
66
62
|
}
|
|
67
63
|
}
|
|
68
64
|
commandsMap.set(command.name.split(" "), command);
|
|
69
65
|
}
|
|
66
|
+
return commandsMap;
|
|
67
|
+
}
|
|
68
|
+
function resolveCommand(commands, name) {
|
|
69
|
+
if (name === SingleCommand) {
|
|
70
|
+
return commands[SingleCommand];
|
|
71
|
+
}
|
|
72
|
+
const nameArr = mustArray(name);
|
|
73
|
+
const commandsMap = resolveFlattenCommands(commands);
|
|
70
74
|
const possibleCommands = [];
|
|
71
75
|
commandsMap.forEach((v, k) => {
|
|
72
76
|
if (arrayStartsWith(nameArr, k)) {
|
|
@@ -359,4 +363,4 @@ const defineInspector = (_cli, inspector) => inspector;
|
|
|
359
363
|
const defineCommand = (c) => c;
|
|
360
364
|
const defineCommandWithHandler = (c) => c;
|
|
361
365
|
|
|
362
|
-
export { Clerc, CommandExistsError, CommandNameConflictError, CommonCommandExistsError, MultipleCommandsMatchedError, NoSuchCommandError, ParentCommandExistsError, SingleCommand, SingleCommandAliasError, SingleCommandError, SubcommandExistsError, compose, defineCommand, defineCommandWithHandler, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
|
|
366
|
+
export { Clerc, CommandExistsError, CommandNameConflictError, CommonCommandExistsError, MultipleCommandsMatchedError, NoSuchCommandError, ParentCommandExistsError, SingleCommand, SingleCommandAliasError, SingleCommandError, SubcommandExistsError, compose, defineCommand, defineCommandWithHandler, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clerc",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"author": "Ray <nn_201312@163.com> (https://github.com/so1ve)",
|
|
5
5
|
"description": "Clerc is a simple and easy-to-use cli framework.",
|
|
6
6
|
"keywords": [
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@clerc/utils": "npm:@clerc/toolkit@0.8.
|
|
42
|
+
"@clerc/utils": "npm:@clerc/toolkit@0.8.1",
|
|
43
43
|
"is-platform": "^0.2.0",
|
|
44
44
|
"lite-emit": "^1.4.0",
|
|
45
45
|
"type-flag": "^3.0.0"
|