argobj
This is a thin wrapper for the argparse
module, adding a few new features. Since argparse
is a direct port of the Python equivalent, new features normally don't get added to it.
Usage
First, run argObj()
to create the parser object.
const argObj = const parser =
The constructor argument takes several new attributes:
longDescription
- An optional extra block of text that gets added below the descriptionnoWrapping
- Turns off the text wrapping that normally gets done to description textensurePeriod
- Ensures thatdescription
ends with a period - I use this when directly passing mypackage.json
'sdescription
fieldnoDoubleMetavars
- Reduces multiple instances of an action's metavar to one to save space (changing e.g.-a NAME, --author NAME
into-a, --author NAME
)
After the argparser object is instantiated, add any number of arguments.
parserparserparser
New here is the choicesHelp
attribute. When choices
adds multiple values for an argument, choicesHelp
will make them be listed explicitly with their own help string. The two choices
and choicesHelp
arrays must be of the same length.
You can make sections of arguments with the addSection()
method. Note that there is still the limitation of every argument having to be unique, even if they appear in different sections.
parserparserparser const parsed = parser
To see the above example, try running ./example.js --help
in this package.
Copyright
© MIT license