Newborn Programming Monsters

    This package has been deprecated

    Author message:

    `base-options` has been deprecated and renamed to `base-option`. See https://github.com/node-base/base-option

    base-options

    0.6.0 • Public • Published

    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

    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.

    Install

    npm i base-options

    DownloadsWeekly Downloads

    237

    Version

    0.6.0

    License

    MIT

    Last publish

    Collaborators

    • doowb
    • jonschlinkert