base-config

0.5.2 • Public • Published

base-config NPM version NPM downloads Build Status

base-methods plugin that adds a config method for mapping declarative configuration values to other 'base' methods or custom functions.

Install

Install with npm:

$ npm install base-config --save

Usage

var config = require('base-config');
var base = require('base');
var app = base();
 
// register the plugin
app.use(config());

Mapped methods

The following methods are mapped by default, but any of them can be overridden using app.config.map():

  • .cwd
  • .data
  • .define
  • .del
  • .disable
  • .disabled
  • .enable
  • .enabled
  • .get
  • .has
  • .option
  • .set
  • .store
  • .use

Map custom methods

Map properties on a configuration object to methods on app.

Each key on the given object should match the name of a method on app.

// call `config` as a function
app.config({
  set: function(val) {
    app.set(val);
  }
});
// or use the `map` method
app.config
  .map('set')
  .map('get')
  .map('has');

Process

Iterate over each property on the given object or array of objects, and call the mapped method that matches property key.

//=> calls `app.set('foo', 'bar');
app.config.process({set: {foo: 'bar'}}, function(err) {
  if (err) throw err;
});

API

create

Create a function for mapping app properties onto the given prop namespace.

Params

  • prop {String}: The namespace to use
  • argv {Object}
  • returns {Object}

Related projects

You might also be interested in these projects:

  • base: base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… more | homepage
  • base-cli: Plugin for base-methods that maps built-in methods to CLI args (also supports methods from a… more | homepage
  • base-data: adds a data method to base-methods. | homepage
  • base-options: Adds a few options methods to base-methods, like option, enable and disable. See the readme… more | homepage
  • base-plugins: Upgrade's plugin support in base applications to allow plugins to be called any time after… more | homepage
  • base-store: Plugin for getting and persisting config values with your base-methods application. Adds a 'store' object… more | 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

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb, v, on March 25, 2016.

Package Sidebar

Install

npm i base-config

Weekly Downloads

52,358

Version

0.5.2

License

MIT

Last publish

Collaborators

  • jonschlinkert