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 },
});
},
};
|