@clerc/core 1.0.0-beta.26 → 1.0.0-beta.27

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.
Files changed (2) hide show
  1. package/dist/index.d.ts +8 -7
  2. package/package.json +3 -3
package/dist/index.d.ts CHANGED
@@ -59,13 +59,13 @@ interface TypeFunction<T = unknown> {
59
59
  */
60
60
  type IgnoreFunction = (type: typeof KNOWN_FLAG | typeof UNKNOWN_FLAG | typeof PARAMETER, arg: string) => boolean;
61
61
  type TypeValue<T = unknown> = TypeFunction<T> | readonly [TypeFunction<T>];
62
- type Foo = RequireExactlyOneOrNone<{
62
+ type FlagRequiredOrDefault = RequireExactlyOneOrNone<{
63
63
  /** The default value of the flag. */
64
64
  default?: unknown;
65
65
  /** Whether the flag is required. */
66
66
  required?: boolean;
67
67
  }, "default" | "required">;
68
- type BaseFlagOptions<T extends TypeValue = TypeValue> = Foo & {
68
+ type BaseFlagOptions<T extends TypeValue = TypeValue> = FlagRequiredOrDefault & {
69
69
  /**
70
70
  * The type constructor or a function to convert the string value.
71
71
  * To support multiple occurrences of a flag (e.g., --file a --file b), wrap the type in an array: [String], [Number].
@@ -233,7 +233,8 @@ type Parameter = string | ParameterDefinition;
233
233
  //#endregion
234
234
  //#region src/types/context.d.ts
235
235
  type AddStringIndex<T> = T & Record<string, any>;
236
- type InferFlagsWithGlobal<C extends Command, GF extends ClercFlagsDefinition> = AddStringIndex<InferFlags<NonNullable<C["flags"]> & Omit<GF, keyof NonNullable<C["flags"]>>>>;
236
+ type KnownKeys<T> = string extends keyof T ? never : keyof T;
237
+ type InferFlagsWithGlobal<C extends Command, GF extends ClercFlagsDefinition> = AddStringIndex<InferFlags<NonNullable<C["flags"]> & Omit<GF, KnownKeys<NonNullable<C["flags"]>>>>>;
237
238
  interface ContextStore {}
238
239
  interface BaseContext<C extends Command = Command, GF extends ClercFlagsDefinition = {}> {
239
240
  command?: C;
@@ -318,9 +319,9 @@ declare class Clerc<Commands extends CommandsRecord = {}, GlobalFlags extends Cl
318
319
  version(version: string): this;
319
320
  use(plugin: Plugin): this;
320
321
  errorHandler(handler: ErrorHandler): this;
321
- command<Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition = {}>(command: CommandWithHandler<Name$1, Parameters, Flags>): Clerc<Commands & Record<string, CommandWithHandler<Name$1, Parameters, Flags>>, GlobalFlags>;
322
- command<Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition = {}>(name: Name$1 extends keyof Commands ? ["COMMAND ALREADY EXISTS"] : Name$1, options?: CommandOptions<Parameters, Flags>): Clerc<Commands & Record<Name$1, Command<Name$1, Parameters, Flags>>, GlobalFlags>;
323
- command<Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition = {}>(name: Name$1 extends keyof Commands ? ["COMMAND ALREADY EXISTS"] : Name$1, description: string, options?: CommandOptions<Parameters, Flags>): Clerc<Commands & Record<Name$1, Command<Name$1, Parameters, Flags>>, GlobalFlags>;
322
+ command<Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition>(command: CommandWithHandler<Name$1, Parameters, Flags>): Clerc<Commands & Record<string, CommandWithHandler<Name$1, Parameters, Flags>>, GlobalFlags>;
323
+ command<Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition>(name: Name$1 extends keyof Commands ? ["COMMAND ALREADY EXISTS"] : Name$1, options?: CommandOptions<Parameters, Flags>): Clerc<Commands & Record<Name$1, Command<Name$1, Parameters, Flags>>, GlobalFlags>;
324
+ command<Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition>(name: Name$1 extends keyof Commands ? ["COMMAND ALREADY EXISTS"] : Name$1, description: string, options?: CommandOptions<Parameters, Flags>): Clerc<Commands & Record<Name$1, Command<Name$1, Parameters, Flags>>, GlobalFlags>;
324
325
  globalFlag<Name$1 extends string, Flag extends ClercFlagDefinitionValue>(name: Name$1, description: string, options: Flag): Clerc<Commands, GlobalFlags & Record<Name$1, Flag>>;
325
326
  globalFlag<Name$1 extends string, Flag extends ClercFlagDefinitionValue>(name: Name$1, options: Flag): Clerc<Commands, GlobalFlags & Record<Name$1, Flag>>;
326
327
  interceptor(interceptor: Interceptor<Command, GlobalFlags>): this;
@@ -357,7 +358,7 @@ declare namespace flag_types_d_exports {
357
358
  }
358
359
  //#endregion
359
360
  //#region src/helpers.d.ts
360
- declare const defineCommand: <Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition = {}>(command: Command<Name$1, Parameters, Flags>, handler?: NoInfer<CommandHandler<Command<Name$1, Parameters, Flags>>>) => CommandWithHandler<Name$1, Parameters, Flags>;
361
+ declare const defineCommand: <Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition>(command: Command<Name$1, Parameters, Flags>, handler?: NoInfer<CommandHandler<Command<Name$1, Parameters, Flags>>>) => CommandWithHandler<Name$1, Parameters, Flags>;
361
362
  //#endregion
362
363
  //#region src/ignore.d.ts
363
364
  declare function createStopAtFirstParameter(): IgnoreFunction;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clerc/core",
3
- "version": "1.0.0-beta.26",
3
+ "version": "1.0.0-beta.27",
4
4
  "author": "Ray <i@mk1.io> (https://github.com/so1ve)",
5
5
  "type": "module",
6
6
  "description": "Clerc core",
@@ -45,10 +45,10 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "lite-emit": "^4.0.0",
48
- "@clerc/parser": "^1.0.0-beta.26"
48
+ "@clerc/parser": "^1.0.0-beta.27"
49
49
  },
50
50
  "devDependencies": {
51
51
  "is-platform": "^1.0.0",
52
- "@clerc/utils": "1.0.0-beta.26"
52
+ "@clerc/utils": "1.0.0-beta.27"
53
53
  }
54
54
  }