99 */
1010function 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