clefairy
Version:
Typed CLI argv parser and main function wrapper
16 lines (15 loc) • 584 B
TypeScript
import { TypeSymbol, TypeSymbolToType } from "./symbols";
export type ArgsObjectToOptions<Input extends {
[key: string]: TypeSymbol;
}> = {
[key in keyof Input]: TypeSymbolToType<Input[key]>;
};
export declare function run<ArgsObject extends {
[key: string]: TypeSymbol;
}>(argsObject: ArgsObject, mainFunction: (options: {
[key in keyof ArgsObject]: TypeSymbolToType<ArgsObject[key]>;
}, ...args: Array<string>) => any, runOptions?: {
argv?: Array<string>;
printError?: (formattedError: string) => void;
exit?: (code?: number) => void;
}): Promise<void>;