UNPKG

1.23 kBTypeScriptView Raw
1import { Arguments, Argv, CommandModule } from "yargs";
2import { Signale } from "signale";
3declare const RESOLVE: unique symbol;
4declare const REJECT: unique symbol;
5declare const HANDLED: unique symbol;
6declare const LOGGER: unique symbol;
7export interface Context {
8 [RESOLVE]: (value?: any) => void;
9 [REJECT]: (reason?: any) => void;
10 [LOGGER]?: Signale;
11 [HANDLED]?: boolean;
12}
13export interface RootArguments {
14 cwd: string;
15 silent: boolean;
16}
17declare type CommandHandler<T> = (args: Arguments<T> & Context) => Promise<void>;
18declare type RootCommandModule<T> = CommandModule<RootArguments, T>;
19export interface Command<T> extends Pick<RootCommandModule<T>, Exclude<keyof RootCommandModule<T>, "handler">> {
20 handler: CommandHandler<T>;
21}
22export declare function getLogger(ctx: Context): Signale;
23export declare function setLogger<T extends Context>(ctx: T, logger: Signale): T;
24export declare function wrapHandler<T extends RootArguments>(handler: CommandHandler<T>): CommandHandler<T>;
25export declare function wrapCommand<T extends RootArguments>(cmd: Command<T>): RootCommandModule<T>;
26export declare function parse(input: Argv, argv: string[]): Promise<void>;
27export {};