freeCodeCamp/api-server/common/utils/wait-for-epics.js

16 lines
459 B
JavaScript

import { Observable } from 'rx';
import debug from 'debug';
const log = debug('redux-epic:waitForEpics');
// waitForEpics(epicMiddleware: EpicMiddleware) => Observable[Void]
export default function waitForEpics(epicMiddleware) {
return Observable.defer(() => {
log('calling actions onCompleted');
epicMiddleware.end();
return Observable.merge(epicMiddleware);
})
.last({ defaultValue: null })
.map(() => epicMiddleware.restart());
}