UNPKG

1.48 kBTypeScriptView Raw
1import { Arg } from './args';
2import * as Flags from './flags';
3export declare type OutputArgs<T extends ParserInput['args']> = {
4 [P in keyof T]: any;
5};
6export declare type OutputFlags<T extends ParserInput['flags']> = {
7 [P in keyof T]: any;
8};
9export declare type ParserOutput<TFlags extends OutputFlags<any>, TArgs extends OutputArgs<any>> = {
10 flags: TFlags;
11 args: TArgs;
12 argv: string[];
13 raw: ParsingToken[];
14};
15export declare type ArgToken = {
16 type: 'arg';
17 input: string;
18};
19export declare type FlagToken = {
20 type: 'flag';
21 flag: string;
22 input: string;
23};
24export declare type ParsingToken = ArgToken | FlagToken;
25export interface ParserInput {
26 argv: string[];
27 flags: Flags.Input<any>;
28 args: Arg<any>[];
29 strict: boolean;
30 context: any;
31 '--'?: boolean;
32}
33export declare class Parser<T extends ParserInput, TFlags extends OutputFlags<T['flags']>, TArgs extends OutputArgs<T['args']>> {
34 private readonly input;
35 private readonly argv;
36 private readonly raw;
37 private readonly booleanFlags;
38 private readonly context;
39 constructor(input: T);
40 parse(): {
41 args: TArgs;
42 argv: any[];
43 flags: TFlags;
44 raw: ParsingToken[];
45 };
46 private _args(argv);
47 private _flags();
48 private _argv();
49 private _debugOutput(args, flags, argv);
50 private _debugInput();
51 private readonly _argTokens;
52 private readonly _flagTokens;
53 private _setNames();
54}