| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| var Observable_1 = require("../Observable"); |
| var isScheduler_1 = require("../util/isScheduler"); |
| var mergeAll_1 = require("../operators/mergeAll"); |
| var fromArray_1 = require("./fromArray"); |
| function merge() { |
| var observables = []; |
| for (var _i = 0; _i < arguments.length; _i++) { |
| observables[_i] = arguments[_i]; |
| } |
| var concurrent = Number.POSITIVE_INFINITY; |
| var scheduler = null; |
| var last = observables[observables.length - 1]; |
| if (isScheduler_1.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_1.Observable) { |
| return observables[0]; |
| } |
| return mergeAll_1.mergeAll(concurrent)(fromArray_1.fromArray(observables, scheduler)); |
| } |
| exports.merge = merge; |
| //# sourceMappingURL=merge.js.map |