Skip to content

Instantly share code, notes, and snippets.

@hwclass
Created January 12, 2017 13:12
Show Gist options
  • Save hwclass/24b953d5ab09399583730b2642450467 to your computer and use it in GitHub Desktop.
Save hwclass/24b953d5ab09399583730b2642450467 to your computer and use it in GitHub Desktop.
var reducer = (() => {
var ABSOLUTE_STATE = {};
return {
get: (actionAlias) => {
return ABSOLUTE_STATE[actionAlias];
},
getAll: () => {
return Object.assign({}, ABSOLUTE_STATE);
},
update: (action = {}) => {
ABSOLUTE_STATE[action.alias] = action.payload;
return Object.assign({}, ABSOLUTE_STATE);
}
}
})();
const dispatch = (action) => {
reducer.update({name: action.name, alias: action.alias, payload: action.payload});
}
const update = (someData) => {
dispatch({name: 'ADD_SOME', alias: 'some', payload: someData})
}
update('some data');
reducer.get('some');
reducer.getAll();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment