UNPKG

@kosko/cli

Version:

Organize Kubernetes manifests in JavaScript.

28 lines (27 loc) 1.22 kB
import { Arguments, Argv, CommandModule } from "yargs"; import signale from "signale"; declare const RESOLVE: unique symbol; declare const REJECT: unique symbol; declare const HANDLED: unique symbol; declare const LOGGER: unique symbol; export interface Context { [RESOLVE]: (value?: any) => void; [REJECT]: (reason?: any) => void; [LOGGER]?: signale.Signale; [HANDLED]?: boolean; } export interface RootArguments { cwd: string; silent: boolean; } declare type CommandHandler<T> = (args: Arguments<T> & Context) => Promise<void>; declare type RootCommandModule<T> = CommandModule<RootArguments, T>; export interface Command<T> extends Pick<RootCommandModule<T>, Exclude<keyof RootCommandModule<T>, "handler">> { handler: CommandHandler<T>; } export declare function getLogger(ctx: Context): signale.Signale; export declare function setLogger<T extends Context>(ctx: T, logger: signale.Signale): T; export declare function wrapHandler<T extends RootArguments>(handler: CommandHandler<T>): CommandHandler<T>; export declare function wrapCommand<T extends RootArguments>(cmd: Command<T>): RootCommandModule<T>; export declare function parse(input: Argv, argv: string[]): Promise<void>; export {};