Object.defineProperty(exports, "__esModule", { value: true });
var async_1 = require("../scheduler/async");
var isDate_1 = require("../util/isDate");
-var OuterSubscriber_1 = require("../OuterSubscriber");
-var subscribeToResult_1 = require("../util/subscribeToResult");
+var innerSubscribe_1 = require("../innerSubscribe");
function timeoutWith(due, withObservable, scheduler) {
if (scheduler === void 0) { scheduler = async_1.async; }
return function (source) {
_this.waitFor = waitFor;
_this.withObservable = withObservable;
_this.scheduler = scheduler;
- _this.action = null;
_this.scheduleTimeout();
return _this;
}
TimeoutWithSubscriber.dispatchTimeout = function (subscriber) {
var withObservable = subscriber.withObservable;
subscriber._unsubscribeAndRecycle();
- subscriber.add(subscribeToResult_1.subscribeToResult(subscriber, withObservable));
+ subscriber.add(innerSubscribe_1.innerSubscribe(withObservable, new innerSubscribe_1.SimpleInnerSubscriber(subscriber)));
};
TimeoutWithSubscriber.prototype.scheduleTimeout = function () {
var action = this.action;
_super.prototype._next.call(this, value);
};
TimeoutWithSubscriber.prototype._unsubscribe = function () {
- this.action = null;
+ this.action = undefined;
this.scheduler = null;
this.withObservable = null;
};
return TimeoutWithSubscriber;
-}(OuterSubscriber_1.OuterSubscriber));
+}(innerSubscribe_1.SimpleOuterSubscriber));
//# sourceMappingURL=timeoutWith.js.map
\ No newline at end of file