This is a set of utils for all retax modules. It also includes 2 helpers for creating redux actions creators and reducers.
npm install --save retax-utils
This helper creates a redux reducers. It relies on the fact that an action object must have a type
property.
import { reducerFactory } from 'retax';
const initialState = {
value: 0,
};
const reducer = reducerFactory(
initialState,
{
INC: (state, action) => state + action.payload,
DEC: (state, action) => state - action.payload,
}
);
reducer();
/*
{
value: 0
}
*/
import { actionsCreatorFactory } from 'retax';
const actionsCreator = actionsCreatorFactory(
'INC'
);
actionsCreator();
/*
{
type: 'INC'
}
*/
actionsCreator(5);
/*
{
type: 'INC',
payload: 5
}
*/
You could also provide a payloadCreator
and a metaCreator
(similar to redux-actions).
import { actionsCreatorFactory } from 'retax';
const actionsCreator = actionsCreatorFactory(
'INC',
x => 2 * x,
y => 3 * y
);
actionsCreator();
/*
{
type: 'INC'
}
*/
actionsCreator(5);
/*
{
type: 'INC',
payload: 10,
meta: 15
}
*/
Check builder and builder-ts-library
This project is shipped with typescript typings. If you are using typescript@^1.6, you don't have to do anything, it will detect the definition types automatically.
##License
MIT License (MIT)