Package Exports
- option-cache
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 (option-cache) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
option-cache

Simple API for managing options in JavaScript applications.
Install
Install with npm:
$ npm install option-cache --save
Example app
Use options-cache in your javascript application:
var util = require('util');
var Options = require('options-cache');
function App(options) {
Options.call(this, options);
this.init();
}
util.inherits(App, Options);
App.prototype.init = function() {
this.option('cwd', process.cwd());
this.option('foo', 'bar');
};
App.prototype.a = function(value) {
this.enable(value);
};
App.prototype.b = function(value) {
if (this.enabled(value)) {
// do something
} else {
// do something else
}
};
API
Options
Create a new instance of Options
.
Params
options
{Object}: Initialize with default options.
Example
var app = new Options();
.option
Set or get an option.
Params
key
{String}: The option name.value
{any}: The value to set.returns
{any}: Returns avalue
when onlykey
is defined.
Example
app.option('a', true);
app.option('a');
//=> true
Params
options
{Object}returns
{Object}
Example
app.mergeOptions({a: 'b'}, {c: 'd'});
app.option('a');
//=> 'b'
app.option('c');
//=> 'd'
Params
key
{String}value
{any}type
{String}: Javascript native type (optional)returns
{Object}
Example
app.option('a', 'b');
app.fillin('a', 'z');
app.fillin('x', 'y');
app.option('a');
//=> 'b'
app.option('x');
//=> 'y'
.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: base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… more | homepage
- cache-base: Basic object cache with
get
,set
,del
, andhas
methods for node.js/javascript projects. | homepage - config-cache: General purpose JavaScript object storage methods. | homepage
- map-cache: Basic cache object for storing key-value pairs. | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
Generate readme and API documentation with verb:
$ npm install verb && npm run docs
Or, if verb is installed globally:
$ verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Changelog
v3.0.0
- breaking change: the
toFlag
method was removed - Adds gulp and istanbul for test coverage
- 100% test coverage
v2.0.0
- Implements
mapVisit
to ensuree thatoption
will be called and an event will be emitted for each key-value pair passed on the arguments. - Adds
mixin
as a static method, for mixing the properties ofoption-cache
onto the provided object.
Author
Jon Schlinkert
License
Copyright © 2016 Jon Schlinkert Released under the MIT license.
This file was generated by verb, v0.9.0, on March 05, 2016.