function createStore(reducer) { let actions = []; let subscribers = []; return { getState() { return actions.reduce(reducer, undefined); }, subscribe(subscriber) { subscribers.push(subscriber); }, dispatch(action) { actions.push(action); subscribers.forEach(subscriber => subscriber()); } }; }