redux-persist
Version:
persist and rehydrate redux stores
32 lines (27 loc) • 664 B
JavaScript
;
var constants = require('./constants');
module.exports = function bufferActions(cb) {
var active = true;
var queue = [];
return function (next) {
return function (action) {
if (!active) {
return next(action);
}
if (action.type === constants.REHYDRATE) {
return next(action);
}
if (action.type === constants.REHYDRATE_COMPLETE) {
active = false;
next(action);
queue.forEach(function (queuedAction) {
return next(queuedAction);
});
cb(null, queue);
queue = undefined;
} else {
queue.push(action);
}
};
};
};