Create a command-line argument from a string or string (key) and value.
Install with npm
$ npm i to-flag --save
var toFlag = require('to-flag');
toFlag('abc');
//=> '--abc'
toFlag('abc', true);
//=> '--abc'
toFlag('abc', 'xyz');
//=> '--abc=xyz'
toFlag('abc', 'true');
//=> '--abc=true'
toFlag('abc', 10);
//=> '--abc=10'
casing
Keys that are camelcase or contain spaces will be dash-cased:
toFlag('fooBar');
//=> '--foo-bar'
toFlag('a b c');
//=> '--a-b-c'
toFlag('A');
//=> '--a'
var obj = {
foo: 'bar',
abc: true,
xyz: 10,
one: false
};
var args = Object.keys(obj).map(function (key) {
return toFlag(key, obj[key]);
});
//=> ['--foo=bar', '--abc', '--xyz=10', '--no-one']
When the value is false an inverted flag is created by default:
toFlag('a', false);
//=> '--no-a'
To disable inversion, pass false on the options:
toFlag('a', false, {invert: false});
//=> '--a'
Install dev dependencies:
$ npm i -d && npm test
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Jon Schlinkert
This was originally inspired by grunt.option.
Copyright © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on August 07, 2015.