@neo-one/utils
Version:
NEO•ONE shared utils.
18 lines (16 loc) • 578 B
text/typescript
import { Observable, Observer } from 'rxjs';
export function onComplete<T>(func: () => void): (source$: Observable<T>) => Observable<T> {
return (source$) =>
Observable.create((observer: Observer<T>) =>
source$.subscribe({
next: (value) => observer.next(value),
error: (error) => observer.error(error),
complete: () => {
// tslint:disable-next-line no-expression-statement
func();
// tslint:disable-next-line no-expression-statement
observer.complete();
},
}),
) as Observable<T>;
}