def merge(cls, *args): """Merges all the observable sequences into a single observable sequence. The scheduler is optional and if not specified, the immediate scheduler is used. 1 - merged = rx.Observable.merge(xs, ys, zs) 2 - merged = rx.Observable.merge([xs, ys, zs]) 3 - merged = rx.Observable.merge(scheduler, xs, ys, zs) 4 - merged = rx.Observable.merge(scheduler, [xs, ys, zs]) Returns the observable sequence that merges the elements of the observable sequences. """ if not args[0]: scheduler = immediate_scheduler sources = args[1:] elif isinstance(args[0], Scheduler): scheduler = args[0] sources = args[1:] else: scheduler = immediate_scheduler sources = args[:] if isinstance(sources[0], list): sources = sources[0] return Observable.from_(sources, scheduler).merge_all()
def go(): scheduler = AsyncIOScheduler() xs = Observable.from_([x for x in range(10)], scheduler=scheduler) gen = xs.to_async_generator() # Wish we could write something like: # ys = (x for x in yield from gen()) while True: x = yield from gen() if x is None: break print(x)
def go(): scheduler = AsyncIOScheduler() xs = Observable.from_([x for x in range(10)], scheduler=scheduler) gen = xs.to_async_generator() # Wish we could write something like: # ys = (x for x in yield from gen()) while True: x = yield from gen() if x is None: break print(x)
def start_with(self, *args, **kw): """Prepends a sequence of values to an observable sequence with an optional scheduler and an argument list of values to prepend. 1 - source.start_with(1, 2, 3) 2 - source.start_with(Scheduler.timeout, 1, 2, 3) Returns the source sequence prepended with the specified values. """ scheduler = kw.get("scheduler") if not scheduler and isinstance(args[0], Scheduler): scheduler = args[0] args = args[1:] else: scheduler = immediate_scheduler sequence = [Observable.from_(args, scheduler), self] return Observable.concat(sequence)