UNPKG

reedx

Version:

Like redux but with less code

20 lines (14 loc) 565 B
import reduce from './utils/reduce' import isFunc from './utils/isFunc' const { assign, keys, values } = Object const mountObject = (model, selectors) => reduce(keys(selectors), (obj, key, idx) => { const selector = values(selectors)[idx] return assign(obj, { [key]: isFunc(selector) ? selector(model) : mountObject(model, selector) }) }, {}) const propsFrom = (...models) => (globalState) => reduce(keys(models), (obj, key, idx) => assign(obj, mountObject(globalState, values(models)[idx].selectors)), {}) export default propsFrom