argumental
Version:
Framework for building CLI apps with Node.js
66 lines (65 loc) • 3.15 kB
TypeScript
import { Argumental } from '../types';
export declare class Parser {
/**
* Casts all parsed values to string (except for booleans).
* @param parsed Minimist parsed arguments.
*/
private _stringifyMinimist;
/**
* Determines if value is an array.
* @param value The value to check.
*/
private _isArray;
/**
* Determines whether a value can overwrite the other version (short name and long name for options).
* @param value The provided value.
*/
private _canOverwriteOpt;
/**
* Sorts an array of values based on their order of occurrence in the process arguments.
* @param args The process arguments.
* @param values The named values array (e.g. ['-a 0', '--abort 1', '-a']).
*/
private _sortBasedOnPriority;
/**
* Returns Argumental parsed option equivalent of Minimist parsed.
* @param minimistParsed The Minimist parsed object.
* @param minimistName The Minimist parsed object key.
*/
private _getArgumentalValue;
/**
* Adds a Minimist parsed string option to Argumental parsed object with proper translation.
* @param minimistParsed The Minimist parsed object.
* @param argumentalParsed The Argumental parsed object.
* @param minimistName The Minimist parsed object key.
* @param argumentalName The Argumental parsed object key.
*/
private _addStringOption;
/**
* Parses an argument based on the given syntax.
* @param syntax The argument syntax.
* @param command Whether this argument belongs to a command or an option.
* @param validators A single or an array of validators.
* @param defaultValue Argument's default value.
*/
parseArgument<T = Argumental.ArgumentDeclaration>(syntax: string, command: boolean, validators?: Argumental.Validator | RegExp | Array<RegExp | Argumental.Validator>, defaultValue?: string | boolean | number): T;
/**
* Parses an option based on the given syntax.
* @param syntax The option syntax.
* @param description The option description to display in help.
* @param required A boolean indicating if option is required.
* @param validators A single or an array of validators.
* @param multi A boolean indicating if option can be repeated more than once.
* @param defaultValue The option's argument's default value.
* @param immediate Whether to stop parsing other components and run the action handlers when this option is provided.
*/
parseOption(syntax: string, description?: string, required?: boolean, validators?: Argumental.Validator | RegExp | Array<RegExp | Argumental.Validator>, multi?: boolean, defaultValue?: string | boolean | number, immediate?: boolean): Argumental.OptionDeclaration;
/**
* Parses command-line arguments with options tailored for the given commands.
* @param args The passed in arguments array (should be <code>process.argv.slice(2)</code>).
* @param commands The final commands object.
*/
parseCliArguments(args: string[], commands: {
[command: string]: Argumental.CommandDeclaration;
}): Argumental.ParsedArguments | Error;
}