Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Calculate loan in js (browser/node.js) for equal installments, installments decreasing, the sum of interest, etc.

License

NotificationsYou must be signed in to change notification settings

kfiku/LoanJS

Repository files navigation

NPM versioncore gzip sizeBuild status

Supersmall andfast module to calculate loan in js (browser/node.js) forequal/decreasing/annuity/annuityDue installments, thesum of interest, etc, with TypeScript support

Getting Started

Install with:

npm install loanjs

Calculating Loan:

import{Loan}from'loanjs';// orconst{ Loan}=require('loanjs');constloan=newLoan(1000,// amount12,// installments number5,// interest rate'annuity'// loanType: 'annuity' | 'annuityDue' | 'diminishing' | GetNextInstalmentPartFunction);/** returns{  installments  : [    {      capital     : number,      interest    : number,      installment : number,      remain      : number    },    //...  ],  amount        : number,  interestSum   : number,  capitalSum    : number,  sum           : number}*/

Documentation

Loan

LoanJS.Loan(amount, installmentsNumber, interestRate, loanType)

Arguments

ArgumenttypedefaultDescription
amountnumber*requiredfull amount of Loan
installmentsNumbernumber*requiredhow many installments will be (in months)
interestRatenumber*requiredinterest rate in percent (ex. 3.5)
loanTypestring or fnannuityannuity | annuityDue | diminishing | GetNextInstalmentPartFunction
interfaceInstallmentPart{capital:number;interest:number;installment:number;}typeGetNextInstalmentPartFunction=(amount:number,installmentsNumber:number,interestRateMonth:number,capitalSum:number)=>InstallmentPart;

Returns

{installments  :[{capital     :number,interest    :number,installment :number,remain      :number}],amount        :number,interestSum   :number,capitalSum    :number,sum           :number}

Examples

typescript example

import{Loan}from'loanjs';constannuityLoan=newLoan(1000,12,5,'annuity');constannuityDueLoan=newLoan(1000,12,5,'annuityDue');constdiminishingLoan=newLoan(1000,12,5,'diminishing');constcustomInstalmentLoan=newLoan(1000,12,5,getNext10Instalment);functiongetNext10Instalment(amount:number,installmentsNumber:number,capitalSum:number,interestRateMonth:number){constcapital=rnd(amount/installmentsNumber);constinterest=10;constinstallment=capital+interest;return{ capital, interest, installment};}

nodejs example

import{Loan}from'loanjs';// orconst{ Loan}=require('loanjs');constloan_1=newLoan(1000,12,5,'diminishing');// loan on 1 000($) in 12 loanType installments (ex. months) with 5% interest rateconstloan_2=newLoan(500000,360,3.5,'annuity');// 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

<scriptsrc="../../dist/loan.js"></script><scriptsrc="../../dist/loanToHtmlTable.js"></script><script>constloan=newLoanJS.Loan(1000,12,5,'annuity');constdiv=document.createElement("div");div.innerHTML=LoanJS.loanToHtmlTable(loan);// loan rendering as html table stringdocument.body.appendChild(div);</script>

more exampleshere

Similar projects

Contributing

Im open for contributors :).

Release History

2023-07-25 v1.1.0

  • addannuityDue interest rate loan type
  • changing the fourth argumentdiminishing toloanType (annuity |diminishing |annuityDue), with backward compatibility (false == 'annuity', true == 'diminishing')
  • refactor getNextInstalment to be open for extensions
  • add option to provide function to loanType to customize instalments counting

2023-06-23 v1.0.11

  • add TypeScript types
  • code cleanup
  • packages update

2017-08-06 v1.0.0

  • go to es6
  • make dist files
  • make 100% covered tests

2016-02-29 v0.1.4

  • update dependencies

2015-10-12 v0.1.3

  • fixing typo intrest -> interest#3
  • update dependencies

2014-11-10 v0.0.4

  • update dependencies

2014-11-10 v0.0.2

  • now you can use it in node/browserify and browser

License

Copyright (c) 2023 Grzegorz KlimekLicensed under the MIT license.

About

Calculate loan in js (browser/node.js) for equal installments, installments decreasing, the sum of interest, etc.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp