Skip to content
Snippets Groups Projects
index.ts 1.34 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { FETCH_DEVICE_ACTION } from '@component/devices/routines/device.routine'
    import { FETCH_MNE_ACTION } from '@component/devices/routines/mne.routine'
    
    Matthias Feyll's avatar
    Matthias Feyll committed
    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'
    
    Matthias Feyll's avatar
    Matthias Feyll committed
    import { listenerMiddleware } from './middleware/listener.middleware'
    
    import persistedReducer from './persist.store'
    
    export const store = configureStore({
      reducer: persistedReducer,
      middleware: (getDefaultMiddleware) =>
        getDefaultMiddleware({
          serializableCheck: {
    
    Matthias Feyll's avatar
    Matthias Feyll committed
            ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER, FETCH_DEVICE_ACTION + '/fulfilled', FETCH_MNE_ACTION + '/fulfilled', 'routine/addRoutine'],
    
            ignoredPaths: ['routine.thunks']
    
    Matthias Feyll's avatar
    Matthias Feyll committed
        }).prepend(listenerMiddleware.middleware).concat(emptySplitApi.middleware, rtkQueryErrorLogger),
    
    export const persistor = persistStore(store)
    
    // TODO
    
    Matthias Feyll's avatar
    Matthias Feyll committed
    setupListeners(store.dispatch)
    
    
    export type RootState = ReturnType<typeof store.getState>;
    
    export type MyState = ReturnType<typeof persistedReducer>;
    
    export type AppDispatch = typeof store.dispatch;