combine-reducers

A stand-alone, Redux compatible implementation of combine reducers

Usage no npm install needed!

<script type="module">
  import combineReducers from 'https://cdn.skypack.dev/combine-reducers';
</script>

README

Combine Reducers

travis npm downloads js-happiness-style

This is a standalone implementation of the combine reducers method from redux. You might ask, why would you not just use Redux? Redux comes with a bunch of other opinions that I personally do not fully subscribe to. Also, I hope to make some changes to improve on the existing pattern.

This module also removes most of the opinionated type checking stuff that Redux does. I would rather document the module and trust users to use it properly than add a bunch of code to force them into my opinions. Why shouldn't a reducer return undefined? Also it makes it much smaller (13 lines compared to 139).

Usage

$ npm install --save combine-reducers
var combineReducers = require('combine-reducers');

var reducer = combineReducers({
    foo: function (store, action) {
        return action.type === 'incr-foo' ? store + 1 : store;
    },
    bar: function (store, action) {
        return action.type === 'incr-bar' ? store + 1 : store;
    }
});

reducer({
    foo: 1,
    bar: 2
}, {
    type: 'incr-foo'
}); // {foo: 2, bar: 1}