UNPKG

@untemps/loan-schedule

Version:

Class to generate a schedule of loan payments

51 lines (50 loc) 1.51 kB
declare enum LoanScheduleAmortizationType { CREDIT = "credit", DEBIT = "debit" } declare enum LoanScheduleCompute { PAYMENT = "payment", INSURANCE = "insurance" } type LoanScheduleAmortization = { label?: string; value?: number; rate?: number; type?: LoanScheduleAmortizationType; compute?: LoanScheduleCompute; }; type LoanScheduleConfig = { headers?: { year: any; balance: any; }; }; type LoanScheduleYears = { headers?: LoanScheduleAmortization[]; values?: number[][]; }; type LoanScheduleSettings = { amount: number; term: number; // In years interestRate: number; insuranceRate: number; }; interface ILoanSchedule { readonly loanSettings: LoanScheduleSettings; readonly years: LoanScheduleYears; } declare class LoanSchedule implements ILoanSchedule { readonly loanSettings: LoanScheduleSettings; private readonly loanAmortizations; private readonly config; constructor(loanSettings?: LoanScheduleSettings, loanAmortizations?: LoanScheduleAmortization[], config?: LoanScheduleConfig); get years(): LoanScheduleYears; private getHeaders; private getYears; private mapValues; private static getMonthlyPayment; private static getMonthlyInsurance; private static getDynamicValue; private static getComputedValue; } export { LoanSchedule, ILoanSchedule, LoanScheduleYears, LoanScheduleAmortization, LoanScheduleAmortizationType, LoanScheduleCompute, LoanScheduleConfig };