Inspired by Vertex 42 Credit Card Payment Calculator this module creates a credit card payment schedule. This is useful when trying to understand the total cost with paying off a credit card while making minimum payments.
npm i credit-card-payment-calculator
const { createPaymentSchedule } = require('credit-card-payment-calculator');
const schedule = createPaymentSchedule({
balance: 10000,
interestRate: .219,
includePayments: true,
minPaymentForLowBalance: 25,
minPaymentPercentOfBalance: .01,
});
console.log(schedule);
import { createPaymentSchedule } from 'credit-card-payment-calculator';
const schedule = createPaymentSchedule({
balance: 10000,
interestRate: .219,
includePayments: true,
minPaymentForLowBalance: 25,
minPaymentPercentOfBalance: .01,
});
console.log(schedule);
export type CreatePaymentScheduleRequest = {
/**
* The current credit card balance.
* e.g., 10000
*/
balance: number;
/**
* Set to true to include all payments.
* Defaults to false.
*/
includePayments?: boolean;
/**
* The annualized interest rate.
* e.g., .129
*/
interestRate: number;
/**
* The percent of balance that makes up the principal portion.
* of the payment
* e.g., .01
*/
minPaymentPercentOfBalance: number;
/**
* When the balance drops below this number, use this as the payment.
* e.g., 25
*/
minPaymentForLowBalance: number;
};
export type PaymentSchedule = {
/**
* The total payment due for the first payment in the schedule.
* e.g., 282.50
*/
firstPaymentAmount: number;
/**
* Total number of payments until the balance is paid off in full.
* e.g., 299
*/
monthsToPayOff: number;
/**
* The acutal payments that make up the complete schedule.
*/
payments?: Payment[];
/**
* Total interest to be paid over the lifetime of the schedule.
* e.g., 17185.56
*/
totalInterestPaid: number;
/**
* Total principal to be paid over the lifetime of the schedule.
* e.g., 10000.00
*/
totalPrincipalPaid: number;
/**
* Total amount (interest and principal) to be paid over the lifetime of the schdule.
* e.g., 27185.56
*/
totalRepaymentAmount: number;
};
npm i
npm test # or npm run test:watch
- Fork https://github.com/alexkates/credit-card-payment-calculator
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Bump the SemVer (
npm version major|minor|patch
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Alex Kates – @thealexkates
Distributed under the MIT license. See this license file for more information.