@alphanova/builder
Version:
A fully fledged facade that facilitates object manipulation
33 lines (32 loc) • 1.11 kB
JavaScript
import { combineReducers } from 'redux';
import { configureStore } from '@reduxjs/toolkit';
import { FLUSH, PAUSE, PERSIST, persistReducer, PURGE, REGISTER, REHYDRATE } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import { GeneralReducer } from './GeneralReducer';
import { getConfig } from './Redux';
const persistConfig = {
key: 'root',
storage,
};
/**
*
* @deprecated
*/
export function getStore() {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const reducers = {
ERRONEOUS: GeneralReducer({}, 'ERRONEOUS')
};
getConfig()?.rules.forEach((config) => {
reducers[config.action.toLowerCase()] = GeneralReducer(config.initial || {}, config.action);
});
const persistedReducer = persistReducer(persistConfig, combineReducers(reducers));
return configureStore({
reducer: persistedReducer,
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
serializableCheck: {
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
},
})
});
}