@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.
- package/dist/index.d.ts +8 -7
- 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
|
|
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> =
|
|
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
|
|
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
|
|
322
|
-
command<Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition
|
|
323
|
-
command<Name$1 extends string, const Parameters extends readonly Parameter[], Flags extends ClercFlagsDefinition
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
52
|
+
"@clerc/utils": "1.0.0-beta.27"
|
|
53
53
|
}
|
|
54
54
|
}
|