@code-art/rx-helpers
Version:
A library with Rxjs operators that can be used in your Angular 8 projects.
48 lines • 5.61 kB
JavaScript
import { __extends } from "tslib";
import { Subscriber } from 'rxjs';
var OutsideZoneSubscriber = /** @class */ (function (_super) {
__extends(OutsideZoneSubscriber, _super);
function OutsideZoneSubscriber(_zone, destination) {
var _this = _super.call(this, destination) || this;
_this._zone = _zone;
return _this;
}
OutsideZoneSubscriber.prototype._next = function (value) {
var _this = this;
this._zone.runOutsideAngular(function () {
if (typeof _this.destination.next === 'function') {
_this.destination.next(value);
}
});
};
OutsideZoneSubscriber.prototype._error = function (error) {
var _this = this;
this._zone.runOutsideAngular(function () {
if (typeof _this.destination.error === 'function') {
_this.destination.error(error);
}
});
};
OutsideZoneSubscriber.prototype._complete = function () {
var _this = this;
this._zone.runOutsideAngular(function () {
if (typeof _this.destination.complete === 'function') {
_this.destination.complete();
}
});
};
return OutsideZoneSubscriber;
}(Subscriber));
var OutsideZoneOperator = /** @class */ (function () {
function OutsideZoneOperator(_zone) {
this._zone = _zone;
}
OutsideZoneOperator.prototype.call = function (subscriber, source) {
return source.subscribe(new OutsideZoneSubscriber(this._zone, subscriber));
};
return OutsideZoneOperator;
}());
export function outsideZone(zone) {
return function (source) { return source.lift(new OutsideZoneOperator(zone)); };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0c2lkZVpvbmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29kZS1hcnQvcngtaGVscGVycy8iLCJzb3VyY2VzIjpbImxpYi9vcGVyYXRvcnMvb3V0c2lkZVpvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBZ0UsVUFBVSxFQUFpQixNQUFNLE1BQU0sQ0FBQztBQUUvRztJQUF1Qyx5Q0FBYTtJQUNsRCwrQkFBNkIsS0FBYSxFQUFFLFdBQTBCO1FBQXRFLFlBQ0Usa0JBQU0sV0FBVyxDQUFDLFNBQ25CO1FBRjRCLFdBQUssR0FBTCxLQUFLLENBQVE7O0lBRTFDLENBQUM7SUFFUyxxQ0FBSyxHQUFmLFVBQWdCLEtBQVE7UUFBeEIsaUJBTUM7UUFMQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1lBQzNCLElBQUksT0FBTyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7Z0JBQy9DLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsc0NBQU0sR0FBaEIsVUFBaUIsS0FBVTtRQUEzQixpQkFNQztRQUxDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7WUFDM0IsSUFBSSxPQUFPLEtBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtnQkFDaEQsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyx5Q0FBUyxHQUFuQjtRQUFBLGlCQU1DO1FBTEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztZQUMzQixJQUFJLE9BQU8sS0FBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUNuRCxLQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0gsNEJBQUM7QUFBRCxDQUFDLEFBNUJELENBQXVDLFVBQVUsR0E0QmhEO0FBRUQ7SUFDRSw2QkFBNkIsS0FBYTtRQUFiLFVBQUssR0FBTCxLQUFLLENBQVE7SUFFMUMsQ0FBQztJQUVNLGtDQUFJLEdBQVgsVUFBWSxVQUF5QixFQUFFLE1BQXVCO1FBQzVELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLHFCQUFxQixDQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBQ0gsMEJBQUM7QUFBRCxDQUFDLEFBUkQsSUFRQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksSUFBWTtJQUN6QyxPQUFPLFVBQUMsTUFBcUIsSUFBSyxPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUExQyxDQUEwQyxDQUFDO0FBQy9FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlLCBPcGVyYXRvciwgU3Vic2NyaWJhYmxlLCBTdWJzY3JpYmVyLCBUZWFyZG93bkxvZ2ljIH0gZnJvbSAncnhqcyc7XHJcblxyXG5jbGFzcyBPdXRzaWRlWm9uZVN1YnNjcmliZXI8VD4gZXh0ZW5kcyBTdWJzY3JpYmVyPFQ+IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF96b25lOiBOZ1pvbmUsIGRlc3RpbmF0aW9uOiBTdWJzY3JpYmVyPFQ+KSB7XHJcbiAgICBzdXBlcihkZXN0aW5hdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX25leHQodmFsdWU6IFQpIHtcclxuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMuZGVzdGluYXRpb24ubmV4dCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHRoaXMuZGVzdGluYXRpb24ubmV4dCh2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9lcnJvcihlcnJvcjogYW55KSB7XHJcbiAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc3RpbmF0aW9uLmVycm9yID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9jb21wbGV0ZSgpIHtcclxuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMuZGVzdGluYXRpb24uY29tcGxldGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuY2xhc3MgT3V0c2lkZVpvbmVPcGVyYXRvcjxUPiBpbXBsZW1lbnRzIE9wZXJhdG9yPFQsIFQ+IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF96b25lOiBOZ1pvbmUpIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FsbChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPFQ+LCBzb3VyY2U6IFN1YnNjcmliYWJsZTxUPik6IFRlYXJkb3duTG9naWMge1xyXG4gICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IE91dHNpZGVab25lU3Vic2NyaWJlcjxUPih0aGlzLl96b25lLCBzdWJzY3JpYmVyKSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gb3V0c2lkZVpvbmU8VD4oem9uZTogTmdab25lKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcclxuICByZXR1cm4gKHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gc291cmNlLmxpZnQobmV3IE91dHNpZGVab25lT3BlcmF0b3Ioem9uZSkpO1xyXG59XHJcbiJdfQ==