git.fiddlerwoaroof.com
Raw Blame History
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 },
    });
  },
};