INNER CODE UNIT · JavaScript
migrate
zulip/zulip-mobile · src/redux-persist-migrate/index.js:67
const migrate = (state, version) => {
let newState = state;
versionKeys
.filter(v => v > version || version === null)
.forEach(v => {
newState = manifest[v.toString()](newState);
});
newState = versionSetter(newState, currentVersion);
return newState;
};
return function migratePayload(incomingState: PartialState): PartialState {
const incomingVersion = parseInt(versionSelector(incomingState), 10);
if (Number.isNaN(incomingVersion)) {
// first launch after install, so incoming state is empty object
// migration not required, just update version
const payload = versionSetter(incomingState, currentVersion);