All files / src/apps/gbs-music-web/store configureStore.ts

0% Statements 0/10
100% Branches 0/0
0% Functions 0/2
0% Lines 0/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                                                         
import { configureStore, createListenerMiddleware } from "@reduxjs/toolkit";
import rootReducer from "./rootReducer";
import backupMusicMiddleware from "gbs-music-web/store/backupMusicMiddleware";
import { registerProjectListeners } from "gbs-music-web/store/projectListeners";
 
export type MusicEditorRootState = ReturnType<typeof rootReducer>;
 
export const createMusicEditorStore = () => {
  const listenerMiddleware = createListenerMiddleware<MusicEditorRootState>();
  registerProjectListeners(listenerMiddleware.startListening);
 
  return configureStore({
    reducer: rootReducer,
    devTools: {
      latency: 200,
      actionsDenylist: ["tracker/setHover"],
    },
    middleware: (getDefaultMiddleware) =>
      getDefaultMiddleware({
        serializableCheck: false,
        immutableCheck: false,
      })
        .prepend(listenerMiddleware.middleware)
        .concat([backupMusicMiddleware]),
  });
};
 
export type MusicEditorStore = ReturnType<typeof createMusicEditorStore>;