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 CHANGED
@@ -267,9 +267,10 @@ const _Clerc = class {
267
267
  throw new SubcommandExistsError(splitedName.join(" "));
268
268
  }
269
269
  }
270
- __privateGet(this, _commands)[name] = !isCommandObject ? { name, description, ...options } : nameOrCommand;
271
- if (isCommandObject && nameOrCommand.handler) {
272
- this.on(nameOrCommand.name, nameOrCommand.handler);
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<NonNullableFlag<C[N]["flags"]>> & {
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<NonNullableFlag<C[N]["flags"]>>["flags"];
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<NonNullableFlag<C[keyof C]["flags"]>>["flags"], Dict<any>>;
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, P extends string[], O extends CommandOptions<[...P], MaybeArray<string>, Dict<FlagOptions>>>(c: Command<N, O>) => Command<N, O>;
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, defineCommandWithHandler, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
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
- __privateGet(this, _commands)[name] = !isCommandObject ? { name, description, ...options } : nameOrCommand;
267
- if (isCommandObject && nameOrCommand.handler) {
268
- this.on(nameOrCommand.name, nameOrCommand.handler);
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, defineCommandWithHandler, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
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.1",
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.1"
45
+ "@clerc/utils": "0.9.2"
46
46
  },
47
47
  "scripts": {
48
48
  "build": "puild",