Node script to calculate debt repayment using the snowball method
- Fully tested with 100% code coverage
- Module and CommonJS compatible
- Nightly builds to evaluate accuracy
- Lightweight - completely dependency free
npm install node-debt-snowball
import snowball from 'node-debt-snowball';
const accounts = [
{
name: 'Credit Card',
interest: 14.99,
balance: 1000,
minPayment: 75,
},
{
name: 'Student Loan',
interest: 4.75,
balance: 7500,
minPayment: 150,
},
];
const additionalPayment = 100;
const repaymentPlan = snowball(accounts, additionalPayment);
console.log('repaymentPlan', repaymentPlan);
Full API documentation is available can be found in the docs/
directory.
[
{
"balance": "number",
"accounts": [
{
"name": "string",
"startingBalance": "number",
"endingBalance": "number",
"accruedInterest": "number",
"additionalPayment": "number",
"paymentAmount": "number"
}
// more accounts...
]
}
// more payment periods...
]
A full sample response can be found at examples/response.json
.
Clone the repo and install the dependencies:
git clone https://github.com/nielse63/node-debt-snowball.git
cd node-debt-snowball
npm ci
Node v16.20.1
:
nvm use v16.20.1
Script | Description |
---|---|
npm run lint |
Lint and autofix source files |
npm run build |
Compile the TypeScript source to the dist directory |
npm test |
Runs unit tests with Jest |
npm run dev |
Executes the example script, saving the response to the file system |
npm run docs |
Builds the documentation |