Super small (~500B) and fast module to calculate loan in js (browser/node.js) for equal/decreasing installments, the sum of interest, etc.
Install the module with:
npm install loanjs
or Bower:
bower install loan-js --save
var LoanJS = require('loanjs');
var loan = new LoanJS.Loan(
1000, // amount
12, // installments number
5, // interest rate
true // diminishing
);
/** returns
{
installments : [
{
capital : number,
interest : number,
installment : number,
remain : number
}
],
amount : number,
interestSum : number,
capitalSum : number,
sum : number
}
*/
LoanJS.Loan(amount, installmentsNumber, interestRate, diminishing)
Argument | type | default | Description |
---|---|---|---|
amount | number | *required | full amount of Loan |
installmentsNumber | number | *required | how many installments will be (in months) |
interestRate | number | *required | interest rate in percent (ex. 3.5) |
diminishing | bool | false | if installments will be - true: diminishing; false: equal/annuity |
{
installments : [
{
capital : number,
interest : number,
installment : number,
remain : number
}
],
amount : number,
interestSum : number,
capitalSum : number,
sum : number
}
nodejs / browserify example
var Loan = require('loanjs').Loan;
var loan_1 = new Loan(1000, 12, 5, true);
// loan on 1 000($) in 12 diminishing installments (ex. months) with 5% interest rate
var loan_2 = new Loan(500000, 360, 3.5);
// loan on 500 000($) in 360 equal installments (30 years) with 3.5% interest rate
Browser example:
You can also render loan as html table
<script src="../../dist/loan.js"></script>
<script src="../../dist/loanToHtmlTable.js"></script>
<script>
var loan = new LoanJS.Loan(1000, 12, 5, true);
var div = document.createElement("div");
div.innerHTML = LoanJS.loanToHtmlTable(loan); // loan rendering as html table string
document.body.appendChild(div);
</script>
more examples here
- InterestJS - counting regular savings
Im open to contributors :).
- go to es6
- make dist files
- make 100% covered tests
- update dependencies
- fixing typo intrest -> interest #3
- update dependencies
- update dependencies
- now you can use it in node/browserify and browser
Copyright (c) 2014 Grzegorz Klimek
Licensed under the MIT license.