From c41672fa1530f956c9bfcfa1a36d8efd23415a0b Mon Sep 17 00:00:00 2001 From: chee Date: Thu, 2 Feb 2017 17:09:18 +0000 Subject: [PATCH] add createReducer --- index.js | 8 ++++++++ package.json | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 index.js diff --git a/index.js b/index.js new file mode 100644 index 0000000..f512006 --- /dev/null +++ b/index.js @@ -0,0 +1,8 @@ +const objectDefault = require('object-with-default-value') + +module.exports = function createReducer({reducers = {}, defaultState = {}} = {}) { + reducers = objectDefault(reducers, state => state) + return (state = defaultState, action = {}) => ( + reducers[action.type](state, action) + ) +} diff --git a/package.json b/package.json index 7bd1563..f1ffe22 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "create-reducers", + "name": "create-reducer", "version": "1.0.0", - "description": "create reducers to use with data-based control flow", + "description": "create reducer that uses data-based control flow", "main": "index.js", "author": "chee ", "license": "MIT",