@sudoo/coco
Version:
:ocean: A simple command line tool framework
24 lines (23 loc) • 987 B
TypeScript
import { Command } from "../command/command";
import { CocoEventArgs, CocoEventLister, CORE_EVENT } from "../event/declare";
import { Option } from "../option/option";
export declare class Coco {
static create(): Coco;
private _rootCommand;
private readonly _commands;
private readonly _options;
private readonly _eventListeners;
private constructor();
rootCommand(command: Command): this;
getRootCommand(): Command | null;
command(command: Command, ...commands: Command[]): this;
commands(commands: Command[]): this;
globalOption(option: Option): this;
getCommands(): Command[];
on<T extends CORE_EVENT>(event: T, listener: CocoEventLister<T>): this;
remove<T extends CORE_EVENT>(event: T, remove: CocoEventLister<T>): this;
removeAll<T extends CORE_EVENT>(event: T): this;
emit<T extends CORE_EVENT>(event: T, ...args: CocoEventArgs[T]): Promise<void>;
go(argv: string[]): Promise<void>;
private _marchCommand;
}