diff --git a/src/lib/error/error.service.ts b/src/lib/error/error.service.ts index 01d91bc..7b33179 100644 --- a/src/lib/error/error.service.ts +++ b/src/lib/error/error.service.ts @@ -2,21 +2,20 @@ import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { HttpErrorResponse } from '@angular/common/http'; import { LoadingService } from '../loading'; - -export type Error = HttpErrorResponse | null; +import { map } from 'rxjs/operators'; @Injectable({ providedIn: 'root' }) export class ErrorService { - readonly hasError$: Observable; - private readonly _errorEvent$ = new BehaviorSubject(null); + readonly hasError$: Observable; + private readonly _errorEvent$ = new BehaviorSubject(undefined); constructor(private readonly _loadingService: LoadingService) { - this.hasError$ = this._errorEvent$.asObservable(); + this.hasError$ = this._errorEvent$.asObservable().pipe(map(e => !!e)); } - private _error: Error = null; + private _error?: HttpErrorResponse; - get error(): Error { + get error(): HttpErrorResponse | undefined { return this._error; } @@ -27,7 +26,7 @@ export class ErrorService { } clear(): void { - this._errorEvent$.next(null); - this._error = null; + this._errorEvent$.next(undefined); + this._error = undefined; } }