// RxJS v6+import { timer, interval } from'rxjs';import { tap, windowToggle, mergeAll } from'rxjs/operators';//emit immediately then every 1sconstsource=timer(0,1000);//toggle window on every 5consttoggle=interval(5000);constexample=source.pipe(//turn window on every 5swindowToggle(toggle, val =>interval(val *1000)),tap(_ =>console.log('NEW WINDOW!')));constsubscribeTwo= example.pipe(//window emits nested observablemergeAll()/* output: "NEW WINDOW!" 5 "NEW WINDOW!" 10 11 "NEW WINDOW!" 15 16 "NEW WINDOW!" 20 21 22 */ ).subscribe(val =>console.log(val));