mirror of
https://github.com/lux-tel/session-desktop.git
synced 2026-10-30 20:33:24 +00:00
28 lines
824 B
TypeScript
28 lines
824 B
TypeScript
import { configureStore } from '@reduxjs/toolkit';
|
|
import promiseMiddleware from 'redux-promise-middleware';
|
|
import { setGlobalDevModeChecks } from 'reselect';
|
|
import { rootReducer } from './reducer';
|
|
import { isDebugMode } from '../shared/env_vars';
|
|
|
|
// NOTE: debugging tool for redux selectors globally
|
|
if (isDebugMode()) {
|
|
setGlobalDevModeChecks({
|
|
inputStabilityCheck: 'always',
|
|
identityFunctionCheck: 'always',
|
|
});
|
|
}
|
|
|
|
const middlewareList = [promiseMiddleware];
|
|
|
|
export const createStore = (initialState: any) =>
|
|
configureStore({
|
|
reducer: rootReducer,
|
|
preloadedState: initialState,
|
|
middleware: (getDefaultMiddleware: any) =>
|
|
getDefaultMiddleware({
|
|
immutableCheck: true,
|
|
}).concat(middlewareList),
|
|
});
|
|
|
|
export type AppDispatch = ReturnType<typeof createStore>['dispatch'];
|