Files
GS13NG/tgui-next/packages/tgui/store.js
T

31 lines
873 B
JavaScript

import { flow } from 'common/fp';
import { applyMiddleware, createStore as createReduxStore } from 'common/redux';
import { backendReducer } from './backend';
import { toastReducer } from './components/Toast';
import { hotKeyMiddleware, hotKeyReducer } from './hotkeys';
import { createLogger } from './logging';
const logger = createLogger('store');
// const loggingMiddleware = store => next => action => {
// const { type, payload } = action;
// logger.log('dispatching', type);
// next(action);
// };
export const createStore = () => {
const reducer = flow([
// State initializer
(state = {}, action) => state,
// Global state reducers
backendReducer,
toastReducer,
hotKeyReducer,
]);
const middleware = [
// loggingMiddleware,
hotKeyMiddleware,
];
return createReduxStore(reducer, applyMiddleware(...middleware));
};