@code-art/rx-helpers
Version:
A library with Rxjs operators that can be used in your Angular 8 projects.
48 lines • 5.34 kB
JavaScript
import { __extends } from "tslib";
import { Subscriber } from 'rxjs';
var ZoneSubscriber = /** @class */ (function (_super) {
__extends(ZoneSubscriber, _super);
function ZoneSubscriber(_zone, destination) {
var _this = _super.call(this, destination) || this;
_this._zone = _zone;
return _this;
}
ZoneSubscriber.prototype._next = function (value) {
var _this = this;
this._zone.run(function () {
if (typeof _this.destination.next === 'function') {
_this.destination.next(value);
}
});
};
ZoneSubscriber.prototype._error = function (error) {
var _this = this;
this._zone.run(function () {
if (typeof _this.destination.error === 'function') {
_this.destination.error(error);
}
});
};
ZoneSubscriber.prototype._complete = function () {
var _this = this;
this._zone.run(function () {
if (typeof _this.destination.complete === 'function') {
_this.destination.complete();
}
});
};
return ZoneSubscriber;
}(Subscriber));
var ZoneOperator = /** @class */ (function () {
function ZoneOperator(_zone) {
this._zone = _zone;
}
ZoneOperator.prototype.call = function (subscriber, source) {
return source.subscribe(new ZoneSubscriber(this._zone, subscriber));
};
return ZoneOperator;
}());
export function withZone(zone) {
return function (source) { return source.lift(new ZoneOperator(zone)); };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aFpvbmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29kZS1hcnQvcngtaGVscGVycy8iLCJzb3VyY2VzIjpbImxpYi9vcGVyYXRvcnMvd2l0aFpvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBZ0UsVUFBVSxFQUFpQixNQUFNLE1BQU0sQ0FBQztBQUUvRztJQUFnQyxrQ0FBYTtJQUMzQyx3QkFBNkIsS0FBYSxFQUFFLFdBQTBCO1FBQXRFLFlBQ0Usa0JBQU0sV0FBVyxDQUFDLFNBQ25CO1FBRjRCLFdBQUssR0FBTCxLQUFLLENBQVE7O0lBRTFDLENBQUM7SUFFUyw4QkFBSyxHQUFmLFVBQWdCLEtBQVE7UUFBeEIsaUJBTUM7UUFMQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNiLElBQUksT0FBTyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7Z0JBQy9DLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsK0JBQU0sR0FBaEIsVUFBaUIsS0FBVTtRQUEzQixpQkFNQztRQUxDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ2IsSUFBSSxPQUFPLEtBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtnQkFDaEQsS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxrQ0FBUyxHQUFuQjtRQUFBLGlCQU1DO1FBTEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDYixJQUFJLE9BQU8sS0FBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUNuRCxLQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0gscUJBQUM7QUFBRCxDQUFDLEFBNUJELENBQWdDLFVBQVUsR0E0QnpDO0FBRUQ7SUFDRSxzQkFBNkIsS0FBYTtRQUFiLFVBQUssR0FBTCxLQUFLLENBQVE7SUFFMUMsQ0FBQztJQUVNLDJCQUFJLEdBQVgsVUFBWSxVQUF5QixFQUFFLE1BQXVCO1FBQzVELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGNBQWMsQ0FBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQVJELElBUUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFJLElBQVk7SUFDdEMsT0FBTyxVQUFDLE1BQXFCLElBQUssT0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQW5DLENBQW1DLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIE9wZXJhdG9yLCBTdWJzY3JpYmFibGUsIFN1YnNjcmliZXIsIFRlYXJkb3duTG9naWMgfSBmcm9tICdyeGpzJztcclxuXHJcbmNsYXNzIFpvbmVTdWJzY3JpYmVyPFQ+IGV4dGVuZHMgU3Vic2NyaWJlcjxUPiB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfem9uZTogTmdab25lLCBkZXN0aW5hdGlvbjogU3Vic2NyaWJlcjxUPikge1xyXG4gICAgc3VwZXIoZGVzdGluYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9uZXh0KHZhbHVlOiBUKSB7XHJcbiAgICB0aGlzLl96b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXN0aW5hdGlvbi5uZXh0ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2Vycm9yKGVycm9yOiBhbnkpIHtcclxuICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc3RpbmF0aW9uLmVycm9yID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9jb21wbGV0ZSgpIHtcclxuICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc3RpbmF0aW9uLmNvbXBsZXRlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIFpvbmVPcGVyYXRvcjxUPiBpbXBsZW1lbnRzIE9wZXJhdG9yPFQsIFQ+IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF96b25lOiBOZ1pvbmUpIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FsbChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPFQ+LCBzb3VyY2U6IFN1YnNjcmliYWJsZTxUPik6IFRlYXJkb3duTG9naWMge1xyXG4gICAgcmV0dXJuIHNvdXJjZS5zdWJzY3JpYmUobmV3IFpvbmVTdWJzY3JpYmVyPFQ+KHRoaXMuX3pvbmUsIHN1YnNjcmliZXIpKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoWm9uZTxUPih6b25lOiBOZ1pvbmUpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xyXG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiBzb3VyY2UubGlmdChuZXcgWm9uZU9wZXJhdG9yKHpvbmUpKTtcclxufVxyXG4iXX0=