base-options

Adds a few options methods to base-methods, like `option`, `enable` and `disable`. See the readme for the full API.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
base-options
0.6.07 years ago7 years agoMinified + gzip package size for base-options in KB

Readme

base-options NPM version Build Status
Adds a few options methods to base-methods, like option, enable and disable. See the readme for the full API.

Install

Install with npm:
$ npm i base-options --save

Usage

Use as a plugin with with your base application:
var Base = require('base-methods');
var options = require('base-options');

var base = new Base();
base.use(options()); // plugin

// set an option
app.option('a', 'b');

// set a nested property
app.option('x.y', 'z');

// get an option
console.log(app.option('x'));
//=> {y: 'z'}

API

.option

Set or get an option.
Params
  • key {String}: The option name.
  • value {}: The value to set.
  • returns {}: Returns a value when only key is defined.

Example
app.option('a', true);
app.option('a');
//=> true

.hasOption

Return true if options.hasOwnProperty(key)
Params
  • prop {String}
  • returns {Boolean}: True if prop exists.

Example
app.hasOption('a');
//=> false
app.option('a', 'b');
app.hasOption('a');
//=> true

.enable

Enable key.
Params
  • key {String}
  • returns {Object} Options: to enable chaining

Example
app.enable('a');

.disable

Disable key.
Params
  • key {String}: The option to disable.
  • returns {Object} Options: to enable chaining

Example
app.disable('a');

.enabled

Check if prop is enabled (truthy).
Params
  • prop {String}
  • returns {Boolean}

Example
app.enabled('a');
//=> false

app.enable('a');
app.enabled('a');
//=> true

.disabled

Check if prop is disabled (falsey).
Params
  • prop {String}
  • returns {Boolean}: Returns true if prop is disabled.

Example
app.disabled('a');
//=> true

app.enable('a');
app.disabled('a');
//=> false

.isTrue

Returns true if the value of prop is strictly true.
Params
  • prop {String}
  • returns {Boolean}: Uses strict equality for comparison.

Example
app.option('a', 'b');
app.isTrue('a');
//=> false

app.option('c', true);
app.isTrue('c');
//=> true

app.option({a: {b: {c: true}}});
app.isTrue('a.b.c');
//=> true

.isFalse

Returns true if the value of key is strictly false.
Params
  • prop {String}
  • returns {Boolean}: Uses strict equality for comparison.

Example
app.option('a', null);
app.isFalse('a');
//=> false

app.option('c', false);
app.isFalse('c');
//=> true

app.option({a: {b: {c: false}}});
app.isFalse('a.b.c');
//=> true

.isBoolean

Return true if the value of key is either true or false.
Params
  • key {String}
  • returns {Boolean}: True if true or false.

Example
app.option('a', 'b');
app.isBoolean('a');
//=> false

app.option('c', true);
app.isBoolean('c');
//=> true

Related projects

Running tests

Install dev dependencies:
$ npm i -d && npm test

Coverage

As of January 19, 2016
Statements  : 100% (6/6)
Branches    : 100% (2/2)
Functions   : 100% (1/1)
Lines       : 100% (6/6)

Contributing

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

Author

Jon Schlinkert

License

Copyright © 2016 Jon Schlinkert Released under the MIT license.

This file was generated by verb
on January 19, 2016.