Example #1
0
 function main(sources) {
   const remove$ = componentRemove$.delay(50).startWith(0).scan((acc) => acc + 1);
   const first = isolate(Component, 'first')(sources);
   const second = isolate(Component, 'second')(sources);
   const vdom$ = Rx.Observable.combineLatest(first.DOM, second.DOM, remove$,
     (vdom1, vdom2, r) => {
       if (r === 0) {
         return div([vdom1, vdom2]);
       } else if (r === 1) {
         return div([vdom2]);
       } else if (r === 2) {
         return div([]);
       } else {
         done('This case must not happen.');
       }
     }
   );
   return { DOM: vdom$ };
 }