Assuming I have the following markup:
@Jrop I like this operator Rx.Observable.when. With this one you can reproduce Bacon.update very easy. This is my code and jsbin example:
const {when, fromEvent} = Rx.Observable;
const decObs = fromEvent(document.getElementById('dec'), 'click');
const incObs = fromEvent(document.getElementById('inc'), 'click');
const resetObs = fromEvent(document.getElementById('res'), 'click');
when(
decObs.thenDo(_ => prev => prev - 1),
incObs.thenDo(_ => prev => prev + 1),
resetObs.thenDo(_ => prev => 0)
).startWith(0).scan((prev, f) => f(prev))
.subscribe(v => document.getElementById('out').innerHTML = v);
Also will be better if you look at this Join-calculus, New Release and Joins and this Combining sequences