UNPKG

clefairy

Version:

Typed CLI argv parser and main function wrapper

16 lines (15 loc) 584 B
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>;