JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 38811
  • Score
    100M100P100Q137104F
  • License MIT

Simple API for managing options in JavaScript applications.

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 NPM version Build Status

Simple API for managing options in JavaScript applications.

Install

Install with npm

$ npm i option-cache --save

Docs

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 a value when only key is defined.

Example

app.option('a', true);
app.option('a');
//=> true

.hasOption

Return true if options.hasOwnProperty(key)

Params

  • prop {String}
  • returns {Boolean}: True if prop 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 if prop 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 if true or false.

Example

app.option('a', 'b');
app.isBoolean('a');
//=> false

app.option('c', true);
app.isBoolean('c');
//=> true



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
  }
};



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

Coverage

As of October 29, 2015:

Statements : 100% (45/45)
Branches   : 100% (18/18)
Functions  : 100% (11/11)
Lines      : 100% (45/45)

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 that option 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 of option-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 October 29, 2015.