lore
Version:
Convention-driven framework for building React-Redux applications
36 lines (27 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = getHooks;
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _loreUtils = require('lore-utils');
var _userHooks = require('../loaders/userHooks');
var _userHooks2 = _interopRequireDefault(_userHooks);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Obtain and merge the core hooks and user hooks. If a user hook exists with
* the same name as a core hook the user hook takes priority.
*
* @returns {Object} Final set of hooks that should be loaded into the application
*/
function getHooks(hookOverrides) {
var userHookDefinitions = _userHooks2.default.load();
var hookDefinitions = _lodash2.default.assign({}, userHookDefinitions, hookOverrides);
var hooks = _lodash2.default.mapValues(hookDefinitions, function (definition, hookName) {
definition.id = hookName;
return new _loreUtils.Hook(definition);
});
return hooks;
} /* eslint no-param-reassign: "warn" */
module.exports = exports['default'];