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'); } } }