base-config-process
Version:
Commonly used config mappings for the base-config plugin. Also pre-processes the given object with base-config-schema before calling `.process()`
41 lines (34 loc) • 745 B
JavaScript
;
var debug = require('../debug');
var utils = require('../utils');
/**
* Merge data onto the `app.cache.data` object. If the [base-data][] plugin
* is registered, this is the API-equivalent of calling `app.data()`.
*
* ```json
* {
* "name": "my-project",
* "verb": {
* "data": {
* "foo": "bar"
* }
* }
* }
* ```
* @name data
* @api public
*/
module.exports = function(app) {
return function(val, key, config, next) {
debug.field(key, val);
if (typeof app.data === 'function') {
app.data(val);
} else {
app.cache.data = utils.merge({}, app.cache.data, val);
for (var prop in val) {
app.emit('data', prop, val[prop]);
}
}
next();
};
};