1.0.3 • Published 10 years ago

mcfly-combinereducers v1.0.3

Weekly downloads
1
License
MIT
Repository
github
Last release
10 years ago

McFly CombineReducers

Util to use in a McFly-Store's callback.
It turns an object whose values are different reducer functions, into a single reducerFunction.

usage

var Redux 				= require('redux');
,	reducerCollection 	= require('../actions/reducers')
,	McFly 				= require('../my-mcfly')
,	combineReducers 	= require('mcfly-combinereducers')
,	combinedReducers 	= combineReducers(reducerCollection)
,	_state 				= _getState() // however you'll get it
,	MsgStore 			= McFly.createStore({
		getState: function() {
			return this.state;
		}
	}, 	function(action) {
			// switch(action.type) { ... }
			// outsource your reducers and use:
			combinedReducers(_state, action);
			// standard McFly procedure
			MsgStore.emit('change');
			return true;
		}
	)
;
module.exports 	= MsgStore;
// actions/reducers.js
var ReducerCollection 	= {
		'todo': 	function(state, action) {
			switch (action.type) {
				case 'SEND_MSG':
					_state.todos.push(action.payload);
				default:
					return _state;
		  	}
		}
	,	'counter': 	function(state, action) {
			switch (action.type) {
				case 'INCREMENT':
					return _state.counter + 1;
				case 'DECREMENT':
					return _state.counter - 1;
				default:
					return _state;
			}
		}
	}
;
module.exports 	= ReducerCollection;

API

@param {object} ReducerCollection - your reducer functions
@return {func} combinedReducers - your new reducer function
combineReducers(ReducerCollection)
@param {object} state - your App/Component State
@param {object} action - a flux standard action object
@return {bool} success - true at success
combinedReducers(state, action);
1.0.5

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago