🚩 funwithflags
parse argument options
This module is minimist refactored as a fluent class ~125% faster.
📘 examples
var argv = processargv;console;
📦 install
yarn add funwithflags --dev
npm install funwithflags --save-dev
⚙ options
Name | Type | Description | ?Default | Example |
---|---|---|---|---|
string | string | Array<string> |
names to always treat as strings | null |
|
boolean | boolean | string | Array<string> |
always treat as booleans. if true will treat all double hyphenated arguments without equal signs. (e.g. affects --foo , not -f or --foo=bar ) |
null |
|
alias | Object |
an object mapping string names to strings or arrays of string names to use as aliases | {} |
|
default | Object |
an object mapping string argument names to default values | {} |
|
['--'] |
boolean |
populate argv._ with everything before the -- and argv['--'] with everything after the -- |
null |
|
stopEarly | boolean |
when true, populate argv._ with everything after the first non-option |
null |
|
unknown | Function |
a function which is invoked with a command line parameter not defined in the opts configuration object. If the function returns false , the unknown option is not added to argv |
null |
|
obj | boolean |
when true, returns the object instance of FunWithFlags | null |
|
vars | boolean |
when true, allows args without dashes to be used as flags | null |
|
camel | boolean |
when true, camelCases object keys on argv | null |
|
underscore | boolean |
when false, object is returned with no _ (for looping over object keys or values or the like) |
null |
extending the class
🔬 tests
- tests use ava
🏋️ benchmarks
- benchmarks use benchmark.js with bench-chain
verbose
var unknown = // captures the unknown args, similar to how `vars` does { unknown return true} var opts = 'default': 'moose.box': 11 'eh': true 'igloo': false 'alias': 'moose.box': 'mooses.boxes' 'rain': 'british-columbia' 'boolean': 'eh' 'igloo' 'string': 'country' 'nan' 'noflag' 'vars': true '--': true 'obj': true // will return the instance 'unknown': unknownFn var args = '--country=canada' // aliased to `rain` so it will have `rain: true, 'british-columbia': true` '--british-columbia' // no value is default a true boolean '--igloo' // dot notation '--a.b=100' // using `string: 'nan'` we ensure this stays as a string '--nan' '99' // first flag is boolean (t: true) // second flag assigned to following value (f: 555) '-tf' '555' // mooses and globbing are parsed only because `vars: true`` 'mooses.boxes=moozes' 'globbing' `"**/*"` // after double dash '--' 'dis-little-piggy' 'went-to-market' var obj = args optsconst argv = objargv