jsketcher/modules/lstream/merge.js
2018-07-02 00:12:57 -07:00

18 lines
366 B
JavaScript

import {StreamBase} from './base';
export class MergeStream extends StreamBase {
constructor(streams) {
super();
this.streams = streams;
}
attach(observer) {
let detachers = new Array(this.streams.length);
this.streams.forEach((s, i) => {
detachers[i] = s.attach(observer);
});
return () => detachers.forEach(d => d());
}
}