git.fiddlerwoaroof.com
files/store.js
a5523e32
 import * as Redux from "https://unpkg.com/redux@4.0.5?module";
 
 const initialState = {
   foo: "asdf",
   packages: [],
   currentPackage: "",
   symbols: [],
 };
 
 function reducer(state = initialState, { type, payload }) {
   if (type === "UPDATE_PACKAGES") {
     return { ...state, packages: payload };
   } else if (type === "UPDATE_SYMBOLS") {
     return {
       ...state,
       symbols: payload.symbols,
       currentPackage: payload.currentPackage,
     };
   }
   return state;
 }
 
 export const store = Redux.createStore(
   reducer,
   window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
 );
 
 export const dispatchers = {
   updateFoo(payload) {
     console.log("foo");
     store.dispatch({ type: "UPDATE_FOO", payload });
   },
   updatePackages(payload) {
     store.dispatch({ type: "UPDATE_PACKAGES", payload });
   },
   updateSymbols(_, { package: currentPackage, symbols }) {
     store.dispatch({
       type: "UPDATE_SYMBOLS",
       payload: { currentPackage, symbols },
     });
   },
 };