INNER CODE UNIT · JavaScript
createMigration
zulip/zulip-mobile · src/redux-persist-migrate/index.js:20
export default function createMigration(
manifest: {| [string]: (PartialState) => PartialState |},
reducerKey: string,
): StoreEnhancer<State, Action, Dispatch<Action>> {
const migratePayload = createMigrationFunction(manifest, reducerKey);
const migrationDispatch = next => (action: Action) => {
if (action.type === REHYDRATE) {
return next({ ...action, payload: migratePayload(action.payload) });
}
return next(action);
};
return next => (reducer, initialState) => {
const store = next(reducer, initialState);
return {
...store,
dispatch: migrationDispatch(store.dispatch),