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 i option-cache --save
Docs
(Table of contents generated by verb)
API
Options
Create a new instance of Options
.
Params
options
{Object}: Initialize with default options.
Example
var app = new Options();
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
Params
key
{String}returns
{Object}Options
: to enable chaining
Example
app.enable('a');
Params
key
{String}: The option to disable.returns
{Object}Options
: to enable chaining
Example
app.disable('a');
Params
prop
{String}returns
{Boolean}
Example
app.enabled('a');
//=> false
app.enable('a');
app.enabled('a');
//=> true
Params
prop
{String}returns
{Boolean}: Returns true ifprop
is disabled.
Example
app.disabled('a');
//=> true
app.enable('a');
app.disabled('a');
//=> false
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
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
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
Params
prop
{String}returns
{Boolean}: True ifprop
exists.
Example
app.hasOption('a');
//=> false
app.option('a', 'b');
app.hasOption('a');
//=> true
Params
keys
{Array}returns
{Array}: Array of args
Example
// set some options
app.option('foo', 'bar');
app.option('abc', true);
app.option('xyz', 10);
app.option('one', false);
// create command line args for all options
app.flags();
//=> ['--foo=bar', '--abc', '--xyz=10', '--no-one']
// or specific options
app.flags(['foo', 'abc']);
//=> ['--foo=bar', '--abc']
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
}
};
Related
- cache-base: Generic object cache for node.js/javascript projects.
- config-cache: General purpose JavaScript object storage methods.
- engine-cache: express.js inspired template-engine manager.
- helper-cache: Easily register and get helper functions to be passed to any template engine or node.js… more
- loader-cache: Register loader functions that dynamically read, parse or otherwise transform file contents when the name… more
- map-cache: Basic cache object for storing key-value pairs.
- parser-cache: Cache and load parsers, similiar to consolidate.js engines.
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running tests
Install dev dependencies:
$ npm i -d && npm test
Changelog
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 © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on July 13, 2015.