import { Observable } from '../core/Observable' import { ArrayValues, Subscribable } from '../core/types.h' import { ExtractInnerTypes } from '../helpers/types/extractInnnerTypes' import { merge as mergeObservable } from '../observable/merge' export function merge>>( ...streams: TS ): (stream: Subscribable) => Observable>> export function merge() { const streams: Array> = Array.prototype.slice.call(arguments) return (stream: Subscribable) => { const allStreams = [stream].concat(streams) return mergeObservable.apply(null, allStreams) } }