16 lines
		
	
	
		
			459 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			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()); | ||
|  | } |