def create(): return xs.pipe( ops.join( ys, lambda x: duration_x, lambda y: duration_y, ), )
def create(): def mapper(xy): x, y = xy return "{}{}".format(x.value, y.value) return xs.pipe( ops.join( ys, lambda x: reactivex.timer(x.interval), lambda y: reactivex.timer(y.interval), ), ops.map(mapper), )
def create(): def mapper(xy): x, y = xy return "{}{}".format(x.value, y.value) return xs.pipe( ops.join( ys, lambda x: reactivex.timer(x.interval), lambda y: reactivex.timer(y.interval).pipe( ops.flat_map( reactivex.throw(ex) if y.value == "tin" else reactivex.empty())), ), ops.map(mapper), )
def create(): def right_duration_mapper(y): if len(y.value) >= 0: raise Exception(ex) else: return reactivex.empty() def mapper(xy): x, y = xy return "{}{}".format(x.value, y.value) return xs.pipe( ops.join( ys, lambda x: reactivex.timer(x.interval), right_duration_mapper, ), ops.map(mapper), )
def test_join_op_forward_scheduler_None(self): subscribe_schedulers = { "x": "unknown", "y": "unknown", "duration_x": "unknown", "duration_y": "unknown", } def subscribe_x(observer, scheduler="not_set"): subscribe_schedulers["x"] = scheduler # need to push one element to trigger duration mapper observer.on_next("foo") def subscribe_y(observer, scheduler="not_set"): subscribe_schedulers["y"] = scheduler # need to push one element to trigger duration mapper observer.on_next("bar") def subscribe_duration_x(observer, scheduler="not_set"): subscribe_schedulers["duration_x"] = scheduler def subscribe_duration_y(observer, scheduler="not_set"): subscribe_schedulers["duration_y"] = scheduler xs = reactivex.create(subscribe_x) ys = reactivex.create(subscribe_y) duration_x = reactivex.create(subscribe_duration_x) duration_y = reactivex.create(subscribe_duration_y) stream = xs.pipe( ops.join( ys, lambda x: duration_x, lambda y: duration_y, ), ) stream.subscribe() assert subscribe_schedulers["x"] is None assert subscribe_schedulers["y"] is None assert subscribe_schedulers["duration_x"] is None assert subscribe_schedulers["duration_y"] is None