41 lines
1.9 KiB
JavaScript
41 lines
1.9 KiB
JavaScript
"use strict";
|
|
var isScheduler_1 = require('../util/isScheduler');
|
|
var ArrayObservable_1 = require('../observable/ArrayObservable');
|
|
var mergeAll_1 = require('./mergeAll');
|
|
/**
|
|
* Joins this observable with multiple other observables by subscribing to them one at a time, starting with the source,
|
|
* and merging their results into the returned observable. Will wait for each observable to complete before moving
|
|
* on to the next.
|
|
* @params {...Observable} the observables to concatenate
|
|
* @params {Scheduler} [scheduler] an optional scheduler to schedule each observable subscription on.
|
|
* @returns {Observable} All values of each passed observable merged into a single observable, in order, in serial fashion.
|
|
*/
|
|
function concat() {
|
|
var observables = [];
|
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
observables[_i - 0] = arguments[_i];
|
|
}
|
|
return concatStatic.apply(void 0, [this].concat(observables));
|
|
}
|
|
exports.concat = concat;
|
|
/**
|
|
* Joins multiple observables together by subscribing to them one at a time and merging their results
|
|
* into the returned observable. Will wait for each observable to complete before moving on to the next.
|
|
* @params {...Observable} the observables to concatenate
|
|
* @params {Scheduler} [scheduler] an optional scheduler to schedule each observable subscription on.
|
|
* @returns {Observable} All values of each passed observable merged into a single observable, in order, in serial fashion.
|
|
*/
|
|
function concatStatic() {
|
|
var observables = [];
|
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
observables[_i - 0] = arguments[_i];
|
|
}
|
|
var scheduler = null;
|
|
var args = observables;
|
|
if (isScheduler_1.isScheduler(args[observables.length - 1])) {
|
|
scheduler = args.pop();
|
|
}
|
|
return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new mergeAll_1.MergeAllOperator(1));
|
|
}
|
|
exports.concatStatic = concatStatic;
|
|
//# sourceMappingURL=concat.js.map
|