UNPKG

nestjs-resilience

Version:

A module for improving the reliability and fault-tolerance of your NestJS applications

20 lines (19 loc) 810 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ResilienceObservableCommand = void 0; const base_command_1 = require("./base.command"); const rxjs_1 = require("rxjs"); const enum_1 = require("../enum"); class ResilienceObservableCommand extends base_command_1.BaseCommand { execute(...args) { this.eventBus.emit(enum_1.ResilienceEventType.Emit, this); let observable = this.run(...args); for (const strategy of this.strategies) { observable = strategy.process(observable, this, ...args); } return observable.pipe((0, rxjs_1.catchError)(error => { throw this.onFailure(error); }), (0, rxjs_1.tap)(() => this.onSuccess())); } } exports.ResilienceObservableCommand = ResilienceObservableCommand;