UNPKG

mortgage-calculator-package

Version:

A simple, embeddable mortgage calculator that dynamically generates an interactive and styled calculator widget. It allows users to input mortgage amount, interest rate, amortization period, and payment frequency, and calculates the monthly payment based

55 lines (54 loc) 1.75 kB
export interface MortgageData { loanAmount: number; interestRate: number; rateTerm: number; amortization: number; paymentFrequency: 'monthly' | 'biweekly' | 'weekly'; loanType: 'regular' | 'interest only'; compounding: 'daily' | 'weekly' | 'bi-weekly' | 'monthly' | 'quarterly' | 'semi-annual'; paymentIncrease: number; paymentIncreaseType: 'dollar' | 'percentage'; oneTimePrePayment: number; annualPrePayment: number; } export interface MortgageResults { mortgagePayment: number; principal: number; interest: number; totalInterest: number; totalCost: number; loanAmount: number; balanceEndOfTerm: number; fiveYearBreakdown: { totalPaid: number; interestPaid: number; principalPaid: number; balanceRemaining: number; }; acceleratedResults?: { adjustedPayment: number; payoffYears: number; totalInterestSaved: number; timeSaved: string; balanceComparison: Array<{ year: number; regularBalance: number; acceleratedBalance: number; }>; }; } export interface AmortizationPayment { year: number; balanceRemaining: number; annualInterestPaid: number; annualPrincipalPaid: number; annualTotalPaid: number; totalInterestPaid: number; totalPrincipalPaid: number; totalPaid: number; } export declare function formatCurrency(amount: number): string; export declare function formatCurrencyDecimal(amount: number): string; export declare function formatNumber(num: number): string; export declare function parseCurrency(value: string): number; export declare function calculateMortgage(data: MortgageData): MortgageResults;