UNPKG

@rxx/testing

Version:
53 lines 3.85 kB
"use strict"; /** * @fileoverview * @author Taketoshi Aono */ Object.defineProperty(exports, "__esModule", { value: true }); var rxjs_1 = require("rxjs"); var Interrupter = /** @class */ (function () { function Interrupter(provisioning) { var _this = this; this.provisioning = provisioning; this.observable = new rxjs_1.Subject(); this.provisioning.subscribe(function (state) { _this.observable.next(state); }); this.publisher = this.provisioning.getSubject(); } Interrupter.prototype.toObservable = function (_a) { var _this = this; var disposeWhenUnsubscribe = (_a === void 0 ? { disposeWhenUnsubscribe: true, } : _a).disposeWhenUnsubscribe; return rxjs_1.Observable.create(function (subscriber) { var sub = _this.observable.subscribe(function (v) { return subscriber.next(v); }); return function () { sub.unsubscribe(); if (disposeWhenUnsubscribe) { _this.provisioning.dispose(); } }; }); }; Interrupter.prototype.send = function (type, payload) { if (payload === void 0) { payload = {}; } this.publisher.notify({ type: type, payload: payload }); }; Interrupter.prototype.subscribe = function (callback, runInitial) { if (runInitial === void 0) { runInitial = false; } return this.provisioning.subscribe(callback, runInitial); }; Interrupter.prototype.dispose = function () { this.provisioning.dispose(); }; Interrupter.prototype.wait = function (type) { var _this = this; return new Promise(function (resolve) { _this.provisioning.subscribe(function (payload) { return resolve(payload); }); }); }; return Interrupter; }()); exports.Interrupter = Interrupter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJydXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJydXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7QUFRSCw2QkFBMkM7QUFHM0M7SUFJRSxxQkFBb0IsWUFBK0I7UUFBbkQsaUJBS0M7UUFMbUIsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBSDVDLGVBQVUsR0FBRyxJQUFJLGNBQU8sRUFBcUIsQ0FBQztRQUluRCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFBLEtBQUs7WUFDL0IsS0FBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLGtDQUFZLEdBQW5CLFVBQ0UsRUFFQztRQUhILGlCQWVDO1lBZEc7O3NDQUFzQjtRQUl4QixPQUFPLGlCQUFVLENBQUMsTUFBTSxDQUFDLFVBQUEsVUFBVTtZQUNqQyxJQUFNLEdBQUcsR0FBRyxLQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQWxCLENBQWtCLENBQUMsQ0FBQztZQUUvRCxPQUFPO2dCQUNMLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxzQkFBc0IsRUFBRTtvQkFDMUIsS0FBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDN0I7WUFDSCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSwwQkFBSSxHQUFYLFVBQWUsSUFBWSxFQUFFLE9BQWlCO1FBQWpCLHdCQUFBLEVBQUEsWUFBaUI7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLE1BQUEsRUFBRSxPQUFPLFNBQUEsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLCtCQUFTLEdBQWhCLFVBQ0UsUUFBNEMsRUFDNUMsVUFBa0I7UUFBbEIsMkJBQUEsRUFBQSxrQkFBa0I7UUFFbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLDZCQUFPLEdBQWQ7UUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSwwQkFBSSxHQUFYLFVBQ0UsSUFBWTtRQURkLGlCQU1DO1FBSEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFBLE9BQU87WUFDeEIsS0FBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBQSxPQUFPLElBQUksT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQWhCLENBQWdCLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUFsREQsSUFrREM7QUFsRFksa0NBQVcifQ==