import { Observable } from '../Observable'; import { isScheduler } from '../util/isScheduler'; import { mergeAll } from '../operators/mergeAll'; import { fromArray } from './fromArray'; export function merge(...observables) { let concurrent = Number.POSITIVE_INFINITY; let scheduler = null; let last = observables[observables.length - 1]; if (isScheduler(last)) { scheduler = observables.pop(); if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') { concurrent = observables.pop(); } } else if (typeof last === 'number') { concurrent = observables.pop(); } if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) { return observables[0]; } return mergeAll(concurrent)(fromArray(observables, scheduler)); } //# sourceMappingURL=merge.js.map