@ikhsaan/create-reducer

1.0.1 • Public • Published

Create Reducer

Behind

Read this ebook Programming Javascript Applications and find 'Don't Use switch'

Installation

npm i -S @ikhsaan/create-reducer

// or

yarn add @ikhsaan/create-reducer

Usage

NOTE: Assume you use seamless-immutable / immutable-js. otherwise use spread object instead

import createReducer from '@ikhsaan/create-reducer'

createReducer(INITIAL_STATE, {
 [FAILURE](state, { error }) {
   return state.set('error', error);
 },
 [INCREMENT](state) {
   return state.update('count', increment);
 },
 [LOAD_DATA_SUCCESS](state, action) {
   return state.merge({ placeholderData: action.data });
 },
 [TICK_CLOCK](state, action) {
   return state.set('lastUpdate', action.ts).set('light', !!action.light);
 },
});

// or

const failure = (state, { error }) => state.set('error', error);

const updateTick = (state, action) => state.set('lastUpdate', action.ts).set('light', !!action.light);

createReducer(INITIAL_STATE, {
 [FAILURE]: failure,
 [TICK_CLOCK]: updateTick
});

Package Sidebar

Install

npm i @ikhsaan/create-reducer

Weekly Downloads

21

Version

1.0.1

License

MIT

Unpacked Size

2.56 kB

Total Files

3

Last publish

Collaborators

  • ikhsaan