import { configureStore } from '@reduxjs/toolkit'; import graphQueryResultSlice from './graphQueryResultSlice'; import querybuilderSlice from './querybuilderSlice'; import schemaSlice from './schemaSlice'; import configSlice from './configSlice'; import sessionSlice from './sessionSlice'; import authSlice from './authSlice'; import mlSlice from './mlSlice'; import searchResultSlice from './searchResultSlice'; import visualizationSlice from './visualizationSlice'; import interactionSlice from './interactionSlice'; import policyUsersSlice from './authorizationUsersSlice'; import policyPermissionSlice from './authorizationResourcesSlice'; import insightSharingSlice from './insightSharingSlice'; export const store = configureStore({ reducer: { graphQueryResult: graphQueryResultSlice, schema: schemaSlice, querybuilder: querybuilderSlice, sessionCache: sessionSlice, auth: authSlice, config: configSlice, ml: mlSlice, searchResults: searchResultSlice, interaction: interactionSlice, visualize: visualizationSlice, policyUsers: policyUsersSlice, policyResources: policyPermissionSlice, insightSharing: insightSharingSlice, }, middleware: getDefaultMiddleware => getDefaultMiddleware({ serializableCheck: { ignoredPaths: ['schema.graphologySerialized', 'querybuilder.graphologySerialized'], }, }), }); // Infer the `RootState` and `AppDispatch` types from the store itself export type RootState = ReturnType<typeof store.getState>; // Inferred type: {counter: CounterState} export type AppDispatch = typeof store.dispatch;