rxjs
Version:
Reactive Extensions for modern JavaScript
12 lines • 582 B
JavaScript
import { concat } from '../observable/concat';
import { take } from './take';
import { ignoreElements } from './ignoreElements';
import { mapTo } from './mapTo';
import { mergeMap } from './mergeMap';
export function delayWhen(delayDurationSelector, subscriptionDelay) {
if (subscriptionDelay) {
return (source) => concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));
}
return mergeMap((value, index) => delayDurationSelector(value, index).pipe(take(1), mapTo(value)));
}
//# sourceMappingURL=delayWhen.js.map