mergeMapTo operator project each emit value like merged observable stream:
import { interval, timer } from 'rxjs';
import { mergeMapTo, take } from 'rxjs/operators';
const source$ = interval(2500).pipe(take(10));
const timer$ = timer(0, 1500).pipe(take(4));
const result$ = source$.pipe(mergeMapTo(timer$));
import { fromEvent, interval } from 'rxjs';
import { mergeMapTo, take } from 'rxjs/operators';
const click$ = fromEvent(document, 'click').pipe(take(10));
const interval$ = interval(1500).pipe(take(4));
const result$ = click$.pipe(mergeMapTo(interval$));
Official Doc: rxjs.mergeMapTo