| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.delayWhen = void 0; |
| var concat_1 = require("../observable/concat"); |
| var take_1 = require("./take"); |
| var ignoreElements_1 = require("./ignoreElements"); |
| var mapTo_1 = require("./mapTo"); |
| var mergeMap_1 = require("./mergeMap"); |
| var innerFrom_1 = require("../observable/innerFrom"); |
| function delayWhen(delayDurationSelector, subscriptionDelay) { |
| if (subscriptionDelay) { |
| return function (source) { |
| return concat_1.concat(subscriptionDelay.pipe(take_1.take(1), ignoreElements_1.ignoreElements()), source.pipe(delayWhen(delayDurationSelector))); |
| }; |
| } |
| return mergeMap_1.mergeMap(function (value, index) { return innerFrom_1.innerFrom(delayDurationSelector(value, index)).pipe(take_1.take(1), mapTo_1.mapTo(value)); }); |
| } |
| exports.delayWhen = delayWhen; |
| //# sourceMappingURL=delayWhen.js.map |