This package has been deprecated

Author message:

`base-options` has been deprecated and renamed to `base-option`. See https://github.com/node-base/base-option

base-options

0.6.0 • Public • Published

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

  • base-data: adds a data method to base-methods. | homepage
  • base-methods: base-methods is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… more | homepage
  • class-utils: Utils for working with JavaScript classes and prototype methods. | homepage

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.

Package Sidebar

Install

npm i base-options

Weekly Downloads

2,308

Version

0.6.0

License

MIT

Last publish

Collaborators

  • doowb
  • jonschlinkert