Adds a few options methods to base-methods, likeoption
,enable
anddisable
. See the readme for the full API.
Install
Install with npm:$ npm i base-options --save
Usage
Use as a plugin with with yourbase
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 avalue
when onlykey
is defined.
Example
app.option('a', true);
app.option('a');
//=> true
.hasOption
Return true ifoptions.hasOwnProperty(key)
Params
prop
{String}returns
{Boolean}: True ifprop
exists.
Example
app.hasOption('a');
//=> false
app.option('a', 'b');
app.hasOption('a');
//=> true
.enable
Enablekey
.Params
key
{String}returns
{Object}Options
: to enable chaining
Example
app.enable('a');
.disable
Disablekey
.Params
key
{String}: The option to disable.returns
{Object}Options
: to enable chaining
Example
app.disable('a');
.enabled
Check ifprop
is enabled (truthy).Params
prop
{String}returns
{Boolean}
Example
app.enabled('a');
//=> false
app.enable('a');
app.enabled('a');
//=> true
.disabled
Check ifprop
is disabled (falsey).Params
prop
{String}returns
{Boolean}: Returns true ifprop
is disabled.
Example
app.disabled('a');
//=> true
app.enable('a');
app.disabled('a');
//=> false
.isTrue
Returns true if the value ofprop
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 ofkey
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 eithertrue
or false
.Params
key
{String}returns
{Boolean}: True iftrue
orfalse
.
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, 2016Statements : 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 SchlinkertLicense
Copyright © 2016 Jon Schlinkert Released under the MIT license.This file was generated by verb on January 19, 2016.