Skip to content

Commit e53a9a2

Browse files
authored
Merge pull request #2 from niravraval1/Emibranch1
Disallow negative value for all parameters
2 parents 2cedd4f + 1729a02 commit e53a9a2

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

src/emi.js

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
*/
1010
function Loan (amount, installmentsNumber, interestRate) {
1111
/** Checking params */
12-
if (!amount ||
13-
!installmentsNumber ||
14-
!interestRate) {
12+
// function Loan
13+
if (!amount || amount <= 0 ||
14+
!installmentsNumber || installmentsNumber <= 0 ||
15+
!interestRate || interestRate <= 0) {
1516
throw new Error(`wrong parameters: ${amount} ${installmentsNumber} ${interestRate}`)
1617
}
1718

@@ -39,7 +40,7 @@ function Loan (amount, installmentsNumber, interestRate) {
3940
}
4041

4142
return {
42-
installments: installments,
43+
installments,
4344
amount: rnd(amount),
4445
interestSum: rnd(interestSum),
4546
principalSum: rnd(principalSum),
@@ -68,9 +69,9 @@ const getNextInstallment = (
6869
const principal = installment - interest
6970

7071
return {
71-
principal: principal,
72-
interest: interest,
73-
installment: installment,
72+
principal,
73+
interest,
74+
installment,
7475
remain: amount - principalSum - principal,
7576
interestSum: interestSum + interest
7677
}
@@ -88,8 +89,8 @@ function emiToHtmlTable (loan, params) {
8889
params.formatMoney = params.formatMoney || function (num) {
8990
return num.toFixed(2)
9091
}
91-
var fm = params.formatMoney
92-
var html = [
92+
const fm = params.formatMoney
93+
const html = [
9394
'<table class="table table-striped">' +
9495
'<thead>' +
9596
'<tr>' +
@@ -107,9 +108,9 @@ function emiToHtmlTable (loan, params) {
107108
'</table>'
108109
]
109110

110-
for (var i = 0; i < loan.installments.length; i++) {
111-
var inst = loan.installments[i]
112-
var instHtml =
111+
for (let i = 0; i < loan.installments.length; i++) {
112+
const inst = loan.installments[i]
113+
const instHtml =
113114
'<tr>' +
114115
'<td>' + (i + 1) + '</td>' +
115116
'<td>' + fm(inst.principal) + '</td>' +
@@ -152,8 +153,8 @@ if (typeof module === 'undefined') {
152153
} else {
153154
// node or browserfy
154155
module.exports = {
155-
Loan: Loan,
156-
emiToHtmlTable: emiToHtmlTable,
157-
rnd: rnd
156+
Loan,
157+
emiToHtmlTable,
158+
rnd
158159
}
159160
}

0 commit comments

Comments
 (0)