RxJS .zip and .switchLatest

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/4.0.7/rx.all.js"></script>
<button id="validation">validation</button>
<button id="change">change</button>
<textarea id='ta_validation'></textarea>
<textarea id='ta_change'></textarea>
<textarea id='ta_result'></textarea>

CSS

textarea {
    font-family:"Courier New", monospace;
    font-size: 12px;
    width: 100%;
    height: 120px;
}

JavaScript

var source = Rx.Observable.generate(
    0,
    function (x) { return x < 10; },
    function (x) { return x + 1; },
    function (x) { return x; }
)

// filter & merge
var a = source.filter(x => x % 2 == 0)
var b = source.filter(x => x % 2 != 0)
var source = a.merge(b)

// subscribe & output
var subscription = source.subscribe(
    x => console.log(x)
)