1.0.2 • Published 9 years ago
nano-argv v1.0.2
nano-argv
A small module to do simple argument parsing.
This package on:
Usage
When you do this on the command line...:
$ node myscript.js --arg1 value1 --bool1 --arg2 value2 --BOOL2Then you can do this in myscript.js...:
var args = require('nano-argv');
var CLI_ARGS = args({
arg2: 'willBeOverridden',
arg3: 'aDefaultValue',
bool3: true
});
console.log(CLI_ARGS);
/*
Will log:
{
arg1: 'value1',
arg2: 'value2',
arg3: 'aDefaultValue',
bool1: true,
bool2: true,
bool3: true
}
*/That is...:
- All
--keys on the CLI will be lowercased when output in the arguments hash by the module. - Any pairing
--key valuewill set the value of keykeyto valuevaluein the hash returned from the function - Any
--key1 --key2 valuesequence, that is, where--key1has another--key2flag immediately to the right, will make--key1a boolean argument flag set totrue - Any
--lastkeywith no value to the right, and no other key (it is the last piece of the command) will also be treated as a boolean argument with the flag set totrue - If you pass an object into the function in the JS, those will be used as the
defaultsfor the output object of the function. - If you do not pass anything,
defaultsis simply set to{}and no keys will have defaults. - The
defaultsargument you use in the JS can only handle plain JSON objects, that is, no function values will work,prototypekeys will not be inherited, and so on and so forth.
License: MIT
Author
Andrew Templeton