clerc 0.9.1 → 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 -8
- 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,30 +103,28 @@ 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;
|
|
123
122
|
type HandlerInCommand<C extends CommandRecord = CommandRecord, K extends keyof C = keyof C> = (ctx: HandlerContext<C, K> & {
|
|
124
123
|
name: K;
|
|
125
|
-
flags: Exclude<TypeFlag<NonNullableFlag<C[K]["flags"]>>["flags"], Record<string, never>>;
|
|
126
124
|
}) => void;
|
|
127
125
|
type FallbackType<T, U> = {} extends T ? U : T;
|
|
128
126
|
type InspectorContext<C extends CommandRecord = CommandRecord> = HandlerContext<C> & {
|
|
129
|
-
flags: FallbackType<TypeFlag<
|
|
127
|
+
flags: FallbackType<TypeFlag<NonNullable<C[keyof C]["flags"]>>["flags"], Dict<any>>;
|
|
130
128
|
};
|
|
131
129
|
type Inspector<C extends CommandRecord = CommandRecord> = (ctx: InspectorContext<C>, next: () => void) => void;
|
|
132
130
|
interface Plugin<T extends Clerc = Clerc, U extends Clerc = Clerc> {
|
|
@@ -273,8 +271,7 @@ declare class Clerc<C extends CommandRecord = {}> {
|
|
|
273
271
|
declare const definePlugin: <T extends Clerc<{}>, U extends Clerc<{}>>(p: Plugin<T, U>) => Plugin<T, U>;
|
|
274
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>;
|
|
275
273
|
declare const defineInspector: <C extends Clerc<{}>>(_cli: C, inspector: Inspector<C["_commands"]>) => Inspector<C["_commands"]>;
|
|
276
|
-
declare const defineCommand: <N extends string | typeof SingleCommand,
|
|
277
|
-
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>>;
|
|
278
275
|
|
|
279
276
|
declare class SingleCommandError extends Error {
|
|
280
277
|
constructor();
|
|
@@ -320,4 +317,4 @@ interface ParsedParameter {
|
|
|
320
317
|
declare function parseParameters(parameters: string[]): ParsedParameter[];
|
|
321
318
|
declare function mapParametersToArguments(mapping: Record<string, string | string[]>, parameters: ParsedParameter[], cliArguments: string[]): undefined;
|
|
322
319
|
|
|
323
|
-
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",
|