You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
456 B
TypeScript

type Dict<T> = Record<string, T>;
type Arrayable<T> = T | T[];
type Default = Dict<any>;
declare function mri<T=Default>(args?: string[], options?: mri.Options): mri.Argv<T>;
declare namespace mri {
export interface Options {
boolean?: Arrayable<string>;
string?: Arrayable<string>;
alias?: Dict<Arrayable<string>>;
default?: Dict<any>;
unknown?(flag: string): void;
}
export type Argv<T=Default> = T & {
_: string[];
}
}
export = mri;