Newer
Older
import { FETCH_DEVICE_ACTION } from '@component/devices/routines/device.routine'
import { FETCH_MNE_ACTION } from '@component/devices/routines/mne.routine'
import { configureStore } from '@reduxjs/toolkit'
import { setupListeners } from '@reduxjs/toolkit/query'
import { FLUSH, PAUSE, PERSIST, PURGE, REGISTER, REHYDRATE } from 'redux-persist'
import persistStore from 'redux-persist/es/persistStore'
import { emptySplitApi } from './api.store'
import { rtkQueryErrorLogger } from './middleware/devLogging.middleware'
import { listenerMiddleware } from './middleware/listener.middleware'
import persistedReducer from './persist.store'
export const store = configureStore({
reducer: persistedReducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: {
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER, FETCH_DEVICE_ACTION + '/fulfilled', FETCH_MNE_ACTION + '/fulfilled', 'routine/addRoutine'],
}).prepend(listenerMiddleware.middleware).concat(emptySplitApi.middleware, rtkQueryErrorLogger),
export const persistor = persistStore(store)
// TODO
export type RootState = ReturnType<typeof store.getState>;
export type MyState = ReturnType<typeof persistedReducer>;
export type AppDispatch = typeof store.dispatch;