| /** PURE_IMPORTS_START tslib,_Subject,_Subscription PURE_IMPORTS_END */ | 
| import * as tslib_1 from "tslib"; | 
| import { Subject } from './Subject'; | 
| import { Subscription } from './Subscription'; | 
| var AsyncSubject = /*@__PURE__*/ (function (_super) { | 
|     tslib_1.__extends(AsyncSubject, _super); | 
|     function AsyncSubject() { | 
|         var _this = _super !== null && _super.apply(this, arguments) || this; | 
|         _this.value = null; | 
|         _this.hasNext = false; | 
|         _this.hasCompleted = false; | 
|         return _this; | 
|     } | 
|     AsyncSubject.prototype._subscribe = function (subscriber) { | 
|         if (this.hasError) { | 
|             subscriber.error(this.thrownError); | 
|             return Subscription.EMPTY; | 
|         } | 
|         else if (this.hasCompleted && this.hasNext) { | 
|             subscriber.next(this.value); | 
|             subscriber.complete(); | 
|             return Subscription.EMPTY; | 
|         } | 
|         return _super.prototype._subscribe.call(this, subscriber); | 
|     }; | 
|     AsyncSubject.prototype.next = function (value) { | 
|         if (!this.hasCompleted) { | 
|             this.value = value; | 
|             this.hasNext = true; | 
|         } | 
|     }; | 
|     AsyncSubject.prototype.error = function (error) { | 
|         if (!this.hasCompleted) { | 
|             _super.prototype.error.call(this, error); | 
|         } | 
|     }; | 
|     AsyncSubject.prototype.complete = function () { | 
|         this.hasCompleted = true; | 
|         if (this.hasNext) { | 
|             _super.prototype.next.call(this, this.value); | 
|         } | 
|         _super.prototype.complete.call(this); | 
|     }; | 
|     return AsyncSubject; | 
| }(Subject)); | 
| export { AsyncSubject }; | 
| //# sourceMappingURL=AsyncSubject.js.map |