Skip to content

Instantly share code, notes, and snippets.

@katelynsills
Last active January 24, 2019 01:01
Show Gist options
  • Save katelynsills/3909b496d608a8ce205d9805159260b1 to your computer and use it in GitHub Desktop.
Save katelynsills/3909b496d608a8ce205d9805159260b1 to your computer and use it in GitHub Desktop.
function makeStateHolder() {
let state = undefined;
const listeners = [];
return {
addListener(newListener) {
listeners.push(newListener);
},
getState() {
return state;
},
updateState(newState) {
state = newState;
listeners.forEach(listener => listener.stateChanged(newState));
},
};
}
const stateHolder = makeStateHolder();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment