UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

41 lines (40 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Subscription = void 0; var Subscription = (function () { function Subscription(subscribe, emit) { this.subscribe = subscribe; this.emit = emit; this._unsubscribe = null; } Subscription.prototype.isActivated = function () { return this._unsubscribe !== null; }; Subscription.prototype.activate = function () { if (this._unsubscribe === null) { this._unsubscribe = this.subscribe(this.emit); } return this; }; Subscription.prototype.deactivate = function () { if (this._unsubscribe !== null) { this._unsubscribe(); this._unsubscribe = null; } return this; }; Subscription.prototype.toggle = function (activate) { if (activate === void 0) { activate = !this.isActivated(); } if (activate) { return this.activate(); } else { return this.deactivate(); } }; return Subscription; })(); exports.Subscription = Subscription;