16 lines
793 B
JavaScript
16 lines
793 B
JavaScript
import { map } from './map';
|
|
import { innerFrom } from '../observable/innerFrom';
|
|
import { operate } from '../util/lift';
|
|
import { mergeInternals } from './mergeInternals';
|
|
import { isFunction } from '../util/isFunction';
|
|
export function mergeMap(project, resultSelector, concurrent) {
|
|
if (concurrent === void 0) { concurrent = Infinity; }
|
|
if (isFunction(resultSelector)) {
|
|
return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);
|
|
}
|
|
else if (typeof resultSelector === 'number') {
|
|
concurrent = resultSelector;
|
|
}
|
|
return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });
|
|
}
|
|
//# sourceMappingURL=mergeMap.js.map
|