clerc 0.9.0 → 0.9.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.cjs +4 -5
- package/dist/index.d.ts +5 -7
- package/dist/index.mjs +5 -5
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -267,9 +267,10 @@ const _Clerc = class {
|
|
|
267
267
|
throw new SubcommandExistsError(splitedName.join(" "));
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
270
|
+
const { handler = void 0, ...commandToSave } = isCommandObject ? nameOrCommand : { name, description, ...options };
|
|
271
|
+
__privateGet(this, _commands)[name] = commandToSave;
|
|
272
|
+
if (isCommandObject && handler) {
|
|
273
|
+
this.on(nameOrCommand.name, handler);
|
|
273
274
|
}
|
|
274
275
|
return this;
|
|
275
276
|
}
|
|
@@ -365,7 +366,6 @@ const definePlugin = (p) => p;
|
|
|
365
366
|
const defineHandler = (_cli, _key, handler) => handler;
|
|
366
367
|
const defineInspector = (_cli, inspector) => inspector;
|
|
367
368
|
const defineCommand = (c) => c;
|
|
368
|
-
const defineCommandWithHandler = (c) => c;
|
|
369
369
|
|
|
370
370
|
exports.Clerc = Clerc;
|
|
371
371
|
exports.CommandExistsError = CommandExistsError;
|
|
@@ -380,7 +380,6 @@ exports.SingleCommandError = SingleCommandError;
|
|
|
380
380
|
exports.SubcommandExistsError = SubcommandExistsError;
|
|
381
381
|
exports.compose = compose;
|
|
382
382
|
exports.defineCommand = defineCommand;
|
|
383
|
-
exports.defineCommandWithHandler = defineCommandWithHandler;
|
|
384
383
|
exports.defineHandler = defineHandler;
|
|
385
384
|
exports.defineInspector = defineInspector;
|
|
386
385
|
exports.definePlugin = definePlugin;
|
package/dist/index.d.ts
CHANGED
|
@@ -103,20 +103,19 @@ type MakeEventMap<T extends CommandRecord> = {
|
|
|
103
103
|
[K in keyof T]: [InspectorContext];
|
|
104
104
|
};
|
|
105
105
|
type PossibleInputKind = string | number | boolean | Dict<any>;
|
|
106
|
-
type NonNullableFlag<T extends Dict<FlagOptions> | undefined> = T extends undefined ? {} : NonNullable<T>;
|
|
107
106
|
type NonNullableParameters<T extends string[] | undefined> = T extends undefined ? [] : NonNullable<T>;
|
|
108
107
|
interface HandlerContext<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> {
|
|
109
108
|
name?: N;
|
|
110
109
|
resolved: boolean;
|
|
111
110
|
isSingleCommand: boolean;
|
|
112
|
-
raw: TypeFlag<
|
|
111
|
+
raw: TypeFlag<NonNullable<C[N]["flags"]>> & {
|
|
113
112
|
parameters: string[];
|
|
114
113
|
};
|
|
115
114
|
parameters: {
|
|
116
115
|
[Parameter in [...NonNullableParameters<C[N]["parameters"]>][number] as CamelCase<StripBrackets<Parameter>>]: ParameterType<Parameter>;
|
|
117
116
|
};
|
|
118
117
|
unknownFlags: ParsedFlags["unknownFlags"];
|
|
119
|
-
flags: TypeFlag<
|
|
118
|
+
flags: TypeFlag<NonNullable<C[N]["flags"]>>["flags"];
|
|
120
119
|
cli: Clerc<C>;
|
|
121
120
|
}
|
|
122
121
|
type Handler<C extends CommandRecord = CommandRecord, K extends keyof C = keyof C> = (ctx: HandlerContext<C, K>) => void;
|
|
@@ -125,7 +124,7 @@ type HandlerInCommand<C extends CommandRecord = CommandRecord, K extends keyof C
|
|
|
125
124
|
}) => void;
|
|
126
125
|
type FallbackType<T, U> = {} extends T ? U : T;
|
|
127
126
|
type InspectorContext<C extends CommandRecord = CommandRecord> = HandlerContext<C> & {
|
|
128
|
-
flags: FallbackType<TypeFlag<
|
|
127
|
+
flags: FallbackType<TypeFlag<NonNullable<C[keyof C]["flags"]>>["flags"], Dict<any>>;
|
|
129
128
|
};
|
|
130
129
|
type Inspector<C extends CommandRecord = CommandRecord> = (ctx: InspectorContext<C>, next: () => void) => void;
|
|
131
130
|
interface Plugin<T extends Clerc = Clerc, U extends Clerc = Clerc> {
|
|
@@ -272,8 +271,7 @@ declare class Clerc<C extends CommandRecord = {}> {
|
|
|
272
271
|
declare const definePlugin: <T extends Clerc<{}>, U extends Clerc<{}>>(p: Plugin<T, U>) => Plugin<T, U>;
|
|
273
272
|
declare const defineHandler: <C extends Clerc<{}>, K extends keyof C["_commands"]>(_cli: C, _key: K, handler: Handler<C["_commands"], K>) => Handler<C["_commands"], K>;
|
|
274
273
|
declare const defineInspector: <C extends Clerc<{}>>(_cli: C, inspector: Inspector<C["_commands"]>) => Inspector<C["_commands"]>;
|
|
275
|
-
declare const defineCommand: <N extends string | typeof SingleCommand,
|
|
276
|
-
declare const defineCommandWithHandler: <N extends string | typeof SingleCommand, O extends CommandOptions<[...P], A, F>, P extends string[] = string[], A extends MaybeArray<string> = MaybeArray<string>, F extends Dict<FlagOptions> = Dict<FlagOptions>>(c: CommandWithHandler<N, O & CommandOptions<[...P], A, F>>) => CommandWithHandler<N, O & CommandOptions<[...P], A, F>>;
|
|
274
|
+
declare const defineCommand: <N extends string | typeof SingleCommand, O extends CommandOptions<[...P], A, F>, P extends string[] = string[], A extends MaybeArray<string> = MaybeArray<string>, F extends Dict<FlagOptions> = Dict<FlagOptions>>(c: CommandWithHandler<N, O & CommandOptions<[...P], A, F>>) => CommandWithHandler<N, O & CommandOptions<[...P], A, F>>;
|
|
277
275
|
|
|
278
276
|
declare class SingleCommandError extends Error {
|
|
279
277
|
constructor();
|
|
@@ -319,4 +317,4 @@ interface ParsedParameter {
|
|
|
319
317
|
declare function parseParameters(parameters: string[]): ParsedParameter[];
|
|
320
318
|
declare function mapParametersToArguments(mapping: Record<string, string | string[]>, parameters: ParsedParameter[], cliArguments: string[]): undefined;
|
|
321
319
|
|
|
322
|
-
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,
|
|
320
|
+
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, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
|
package/dist/index.mjs
CHANGED
|
@@ -263,9 +263,10 @@ const _Clerc = class {
|
|
|
263
263
|
throw new SubcommandExistsError(splitedName.join(" "));
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
266
|
+
const { handler = void 0, ...commandToSave } = isCommandObject ? nameOrCommand : { name, description, ...options };
|
|
267
|
+
__privateGet(this, _commands)[name] = commandToSave;
|
|
268
|
+
if (isCommandObject && handler) {
|
|
269
|
+
this.on(nameOrCommand.name, handler);
|
|
269
270
|
}
|
|
270
271
|
return this;
|
|
271
272
|
}
|
|
@@ -361,6 +362,5 @@ const definePlugin = (p) => p;
|
|
|
361
362
|
const defineHandler = (_cli, _key, handler) => handler;
|
|
362
363
|
const defineInspector = (_cli, inspector) => inspector;
|
|
363
364
|
const defineCommand = (c) => c;
|
|
364
|
-
const defineCommandWithHandler = (c) => c;
|
|
365
365
|
|
|
366
|
-
export { Clerc, CommandExistsError, CommandNameConflictError, CommonCommandExistsError, MultipleCommandsMatchedError, NoSuchCommandError, ParentCommandExistsError, SingleCommand, SingleCommandAliasError, SingleCommandError, SubcommandExistsError, compose, defineCommand,
|
|
366
|
+
export { Clerc, CommandExistsError, CommandNameConflictError, CommonCommandExistsError, MultipleCommandsMatchedError, NoSuchCommandError, ParentCommandExistsError, SingleCommand, SingleCommandAliasError, SingleCommandError, SubcommandExistsError, compose, defineCommand, 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.9.
|
|
3
|
+
"version": "0.9.2",
|
|
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": [
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"is-platform": "^0.2.0",
|
|
43
43
|
"lite-emit": "^1.4.0",
|
|
44
44
|
"type-flag": "^3.0.0",
|
|
45
|
-
"@clerc/utils": "0.9.
|
|
45
|
+
"@clerc/utils": "0.9.2"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "puild",
|