node-debt-snowball
Version:
Node script to calculate debt repayment using the snowball method
53 lines (52 loc) • 1.62 kB
TypeScript
import Account from './Account';
import Results from './Results';
import { AccountObjectKeys, OrderDirection, type AccountObject } from './types';
declare class Snowball {
accounts: Account[];
additionalPayment: number;
balanceStart: number;
currentBalance: number;
snowballAmount: number;
strategy: string;
constructor(accounts: AccountObject[], additionalPayment?: number, strategy?: string);
parseAccounts(accounts: AccountObject[]): {
name: string;
balance: number;
interest: number;
minPayment: number;
}[];
sortAccounts(accounts: AccountObject[], key?: AccountObjectKeys, order?: OrderDirection): AccountObject[];
getSortKeyAndOrder(): {
key: AccountObjectKeys;
order: OrderDirection;
};
setAccounts(accounts: AccountObject[]): Account[];
getCurrentBalance(): number;
makePaymentForAccount(account: Account): {
balanceStart: number;
balanceEnd: number;
accruedInterest: number;
additionalPayment: number;
paymentAmount: number;
minPayment: number;
name: string;
};
makePaymentsForMonth(): {
balance: number;
accounts: {
balanceStart: number;
balanceEnd: number;
accruedInterest: number;
additionalPayment: number;
paymentAmount: number;
minPayment: number;
name: string;
}[];
};
/**
* Generates a payment plan
* @returns {Payment[]} - An array of payments
*/
createPaymentPlan(): Results;
}
export = Snowball;