import { inject } from '@angular/core'; import { ResolveFn } from '@angular/router'; import { Bill } from './bill'; import { VoucherService } from './voucher.service'; export const billResolver: ResolveFn = (route) => { const tableId = route.queryParamMap.get('table'); const guestId = route.queryParamMap.get('guest'); const voucherId = route.queryParamMap.get('voucher'); const billId = route.queryParamMap.get('bill'); if (billId !== null) { return inject(VoucherService).getFromBill(billId); } if (tableId !== null) { return inject(VoucherService).getFromTable(tableId as string, voucherId, guestId); } if (voucherId !== null) { return inject(VoucherService).getFromId(voucherId); } throw new Error('Unable to get bill'); };