Skip to content
Rational human-readable argument parser for node.js
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples
lib
spec
.gitignore
LICENSE
Makefile
README.md
docs.json
package.json

README.md

Rational

Rational is (yet another) command line argument parser for node.js. It parses a human readable usage message and infers the arguments, thus making the documentation the direct basis for the code.

It is based on bup's option parser and the corresponding blog post.

It supports boolean/integer and string values, with support for defaults.

Install

npm install rational

Usage

API reference

var Rational = require('rational').Rational;
// I swear this is cleaner in CoffeeScript :)
var parser = new Rational('wget [OPTION...] [URL...]\n--\n'+
                        'V,version         display the version of Wget and exit\n'+
                        'h,help            print this help\n'+

                        ' Advanced\n'+
                        'b,background      go to background after startup\n'+
                        'retry-connrefused retry even if connection is refused\n'+

                        ' Vertigo inducing\n'+
                        'g                 download at 1Gbps always\n'+
                        'd                 DDoS the host');

// invoked with wget --no-retry-connrefused -d
var result = parser.parse(process.argv);

background = result.options.background; // false
ddos = result.options.d; // true
retry = result.options['retry-connrefused']; // false

// positional arguments
var urls = result.extras;

Tests

Tests are written using vows. To run all tests

$ pwd
/path/to/rational
$ npm install . --dev # one time only
$ make test

License

Rational is licensed under the 3-clause Modified BSD License.

Contributions

Fork and send a pull request :)

Something went wrong with that request. Please try again.