merge
Merges multiple observables into a single observable that emits all values from all sources. Emits whenever any source observable emits a value.
Marble Diagram
Section titled “Marble Diagram”merge
Example
Section titled “Example”// Timeline://// clicks$ c1 c2 c3// keys$ k1 k2 k3// events$ c1 k1 c2 k2 c3 k3//// Explanation:// - merge combines multiple observables into one// - Emits values from any source as they arrive// - Order is preserved based on emission time
const clicks$ = source<string>();
const keys$ = source<string>();
const events$ = merge([clicks$, keys$]);
const valueHistory: string[] = [];
events$.subscribe((event_) => { valueHistory.push(event_);});
clicks$.next('c1');
assert.deepStrictEqual(valueHistory, ['c1']);
keys$.next('k1');
assert.deepStrictEqual(valueHistory, ['c1', 'k1']);
clicks$.next('c2');
keys$.next('k2');
assert.deepStrictEqual(valueHistory, ['c1', 'k1', 'c2', 'k2']);