JSPM

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

Adds a few options methods to base-methods, like `option`, `enable` and `disable`. See the readme for the full API.

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

Adds a few options methods to base-methods, like option, enable and disable. 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 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
  • 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.