@eeue56/baner
Version:
Flag parsing library in Typescript
27 lines (26 loc) • 1.43 kB
TypeScript
import type { Flag, FlagArgument, KnownTypes, Program, ProgramParser, ProgramValues } from "./types.ts";
/**
* A parser is composed of an array of flags
*/
export declare function parser<const flags extends readonly Flag<FlagArgument<KnownTypes>, string>[]>(...flags: flags): ProgramParser<flags>;
/**
* Creates a help text for a given program parser
*/
export declare function help<const flags extends readonly Flag<FlagArgument<KnownTypes>, string>[]>(flagParser: ProgramParser<flags>): string;
/**
* Reports all errors in a program, ignoring missing flags.
*/
export declare function allErrors<const flags extends readonly Flag<FlagArgument<KnownTypes>, string>[]>(program: Program<flags>): string[];
/**
* Reports missing flags, ignoring the ones you don't care about.
*/
export declare function allMissing<const flags extends readonly Flag<FlagArgument<KnownTypes>, string>[]>(program: Program<flags>, ignore: string[]): string[];
/**
* Gets the Ok values out of the program as the raw type (i.e a `string` from `string()`)
*/
export declare function allValues<const flags extends readonly Flag<FlagArgument<KnownTypes>, string>[]>(program: Program<flags>): ProgramValues<flags>;
/**
* Runs a flag parser on the args
*/
export declare function parse<const flags extends readonly Flag<FlagArgument<KnownTypes>, string>[]>(flagParser: ProgramParser<flags>, args: string[]): Program<flags>;
export * from "./types.ts";