UNPKG

lore-hook-connect

Version:

A lore hook that generates dialogs using Bootstrap

66 lines (52 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _lodash = require("lodash"); var _lodash2 = _interopRequireDefault(_lodash); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * All Connection Blueprint */ exports.default = { defaults: { where: function where(model) { return true; }, exclude: function exclude(model) { return false; }, sortBy: function sortBy(model) { return true; } }, verifyParams: function verifyParams(params) { if (!_lodash2.default.isFunction(params.where)) { throw new Error("The 'where' field must be a function"); } if (!_lodash2.default.isFunction(params.exclude)) { throw new Error("The 'exclude' field must be a function"); } if (!_lodash2.default.isFunction(params.sortBy)) { throw new Error("The 'sortBy' field must be a function"); } }, getAction: function getAction(actions) { // no op }, getPayload: function getPayload(reducerState, params) { var transformed = _lodash2.default.transform(reducerState, function (result, model) { result.push(model); }, []); var filtered = _lodash2.default.filter(transformed, params.where); var excluded = _lodash2.default.filter(filtered, function (model) { return !params.exclude(model); }); var sorted = _lodash2.default.sortBy(excluded, params.sortBy); return { state: 'RESOLVED', data: sorted }; } }; module.exports = exports["default"];