Package Exports
- base-options
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (base-options) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
base-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.