UNPKG

1.74 kBJavaScriptView Raw
1"use strict";
2var __extends = (this && this.__extends) || (function () {
3 var extendStatics = function (d, b) {
4 extendStatics = Object.setPrototypeOf ||
5 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6 function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7 return extendStatics(d, b);
8 }
9 return function (d, b) {
10 extendStatics(d, b);
11 function __() { this.constructor = d; }
12 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13 };
14})();
15Object.defineProperty(exports, "__esModule", { value: true });
16var Subscription_1 = require("./Subscription");
17var SubjectSubscription = (function (_super) {
18 __extends(SubjectSubscription, _super);
19 function SubjectSubscription(subject, subscriber) {
20 var _this = _super.call(this) || this;
21 _this.subject = subject;
22 _this.subscriber = subscriber;
23 _this.closed = false;
24 return _this;
25 }
26 SubjectSubscription.prototype.unsubscribe = function () {
27 if (this.closed) {
28 return;
29 }
30 this.closed = true;
31 var subject = this.subject;
32 var observers = subject.observers;
33 this.subject = null;
34 if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {
35 return;
36 }
37 var subscriberIndex = observers.indexOf(this.subscriber);
38 if (subscriberIndex !== -1) {
39 observers.splice(subscriberIndex, 1);
40 }
41 };
42 return SubjectSubscription;
43}(Subscription_1.Subscription));
44exports.SubjectSubscription = SubjectSubscription;
45//# sourceMappingURL=SubjectSubscription.js.map
\No newline at end of file