56 lines
1.2 KiB
Markdown
56 lines
1.2 KiB
Markdown
|
# subarg
|
||
|
|
||
|
parse arguments with recursive contexts using
|
||
|
[minimist](https://npmjs.org/package/minimist)
|
||
|
|
||
|
[![testling badge](https://ci.testling.com/substack/subarg.png)](https://ci.testling.com/substack/subarg)
|
||
|
|
||
|
[![build status](https://secure.travis-ci.org/substack/subarg.png)](http://travis-ci.org/substack/subarg)
|
||
|
|
||
|
This module is useful if you need to pass arguments into a piece of code without
|
||
|
coordinating ahead of time with the main program, like with a plugin system.
|
||
|
|
||
|
# example
|
||
|
|
||
|
``` js
|
||
|
var subarg = require('subarg');
|
||
|
var argv = subarg(process.argv.slice(2));
|
||
|
console.log(argv);
|
||
|
```
|
||
|
|
||
|
Contexts are denoted with square brackets:
|
||
|
|
||
|
```
|
||
|
$ node example/show.js rawr --beep [ boop -a 3 ] -n4 --robots [ -x 8 -y 6 ]
|
||
|
{ _: [ 'rawr' ],
|
||
|
beep: { _: [ 'boop' ], a: 3 },
|
||
|
n: 4,
|
||
|
robots: { _: [], x: 8, y: 6 } }
|
||
|
```
|
||
|
|
||
|
# methods
|
||
|
|
||
|
``` js
|
||
|
var subarg = require('subarg')
|
||
|
```
|
||
|
|
||
|
## var argv = subarg(args, opts)
|
||
|
|
||
|
Parse the arguments array `args`, passing `opts` to
|
||
|
[minimist](https://npmjs.org/package/minimist).
|
||
|
|
||
|
An opening `[` in the `args` array creates a new context and a `]` closes a
|
||
|
context. Contexts may be nested.
|
||
|
|
||
|
# install
|
||
|
|
||
|
With [npm](https://npmjs.org) do:
|
||
|
|
||
|
```
|
||
|
npm install subarg
|
||
|
```
|
||
|
|
||
|
# license
|
||
|
|
||
|
MIT
|