import { Repeater } from "@repeaterjs/repeater"; import { Observable } from "rxjs"; declare module 'rxjs' { interface Observable { toIterator(): Repeater; } } Observable.prototype.toIterator = function() { return new Repeater(async (push, stop) => { const subscription = this.subscribe({ next(value) { push(value); }, error(err) { stop(err); }, complete() { stop(); }, }); await stop; subscription.unsubscribe(); }); };