npm.io
1.0.0 • Published 11 years ago

to-flag

Licence
MIT
Version
1.0.0
Deps
3
Vulns
0
Weekly
0
Stars
5

to-flag NPM version Build Status

Create a command-line argument from a string or string (key) and value.

Install

Install with npm

$ npm i to-flag --save

Usage

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'

Usage example

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']

Options

invert

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'

Run tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

Author

Jon Schlinkert

This was originally inspired by grunt.option.

License

Copyright 2015 Jon Schlinkert Released under the MIT license.


This file was generated by verb-cli on August 07, 2015.

Keywords