import {Injectable} from '@angular/core'; import {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from '@angular/router'; import {Observable} from 'rxjs/internal/Observable'; import {Voucher} from '../core/voucher'; import {VoucherService} from '../core/voucher.service'; @Injectable({ providedIn: 'root' }) export class PurchaseReturnResolver implements Resolve { constructor(private ser: VoucherService) { } resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable { const id = route.paramMap.get('id'); if (id === null) { return this.ser.getOfType('Purchase Return'); } else { return this.ser.get(id, 'Purchase Return'); } } }