args-json
Version:
Zero-dependency descriptively typed command-line argument parser
43 lines (29 loc) • 1.63 kB
TypeScript
declare class Args {
_input: string[];
constructor(input?: string[]);
hasKey(x: string): boolean;
isOn(key: string): boolean;
isOff(key: string): boolean;
isExplicitlyOff(key: string): boolean;
getValue(key: string | string[], fallback: string): string;
getValue(key: string | string[]): string | undefined;
getValues(key: string | string[], fallback: string[]): string[];
getValues(key: string | string[]): string[] | undefined;
}
declare const args: Args;
declare function getValue(key: string | string[], fallback: string): string;
declare function getValue(key: string | string[]): string | undefined;
declare function getValues(key: string | string[], fallback: string[]): string[];
declare function getValues(key: string | string[]): string[] | undefined;
declare function hasKey(x: string): boolean;
type Off = false | 0 | null | undefined | "0" | "false" | "undefined" | "off";
type ExplicitlyOff = Exclude<Off, undefined | "undefined">;
declare function isExplicitlyOff(x: unknown): x is ExplicitlyOff;
declare function isKey(x: string): boolean;
declare function isOff(x: unknown): x is Off;
type On = true | 1 | "true" | "1" | "on";
declare function isOn(x: unknown): x is On;
type ArgMap = Record<string, string>;
declare function parseArgs<T extends Record<string, unknown> = Record<string, unknown>>(map?: ArgMap): T;
declare function parseArgs<T extends Record<string, unknown> = Record<string, unknown>>(input?: string | string[], map?: ArgMap): T;
export { ArgMap, Args, ExplicitlyOff, Off, On, args, getValue, getValues, hasKey, isExplicitlyOff, isKey, isOff, isOn, parseArgs };