UNPKG

argumental

Version:

Framework for building CLI apps with Node.js

66 lines (65 loc) 3.15 kB
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; }