base-options
v0.1.2base-options
Adds a few options methods to base-methods, like
option
,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 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 avalue
when onlykey
is defined.
Example
app.option('a', true);
app.option('a');
//=> true
.hasOption
Return true if options.hasOwnProperty(key)
Params
prop
{String}returns
{Boolean}: True ifprop
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 ifprop
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 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, 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.
Metadata
- MIT
- >=0.10.0
- Jon Schlinkert
- released 10/2/2015