2.1.2 • Published 4 years ago

@untemps/loan-schedule v2.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

@untemps/loan-schedule

Class to generate a schedule of monthly loan payments.

It has been built with a single purpose in mind so far, but features will be added in the next fews weeks.
Don't hesitate to contact the team if you think about a specific usage we may address.

npm GitHub Workflow Status Codecov

Installation

yarn add @untemps/loan-schedule

Usage

Import LoanSchedule:

import { LoanSchedule } from '@untemps/loan-schedule'

Create an instance of LoanSchedule passing three objects:

// Settings object that describes the properties of the loan (see below "Loan Settings")
const loanSettings = {
	amount: 79950, // Amount of the loan in any currency
	term: 25, // Loan term in years
	interestRate: 2, // Interest rate in percentage
	insuranceRate: 0.5, // Insurance rate in percentage
}

// List of amortizations monthly paid until the term of the loan (see below "Loan Amortizations")
const loanAmortizations = [
	{
		label: 'Rent', // Label of the amortization.
		value: 600, // Amount of the maortization.
		type: LoanScheduleAmortizationType.CREDIT, // Type of the amortization: "credit" or "debit"
	},
	{
		label: 'Payment',
		type: LoanScheduleAmortizationType.DEBIT,
		compute: LoanScheduleCompute.PAYMENT, // Computation method of the amortization (optional). That means the amount has to be automatically calculated by the class. "payment" and "insurance" are available so far.
	},
	{
		label: 'Property Tax',
		value: 30,
		rate: 5, // Yearly inflation rate of the amortization (optional).
		type: LoanScheduleAmortizationType.DEBIT,
	},
]

// Configuration of the output (see below "Configuration")
const config = {
    headers: {
        year: {
            label: 'Année',
        },
        balance: {
            label: 'Solde',
        },
    },
}

const schedule = new LoanSchedule(loanSettings, loanAmortizations, config);

Constructor parameters

ParameterTypeDescription
loanSettingsLoanScheduleSettingsSettings object that describes the properties of the loan (see below "Loan Settings")
loanAmortizationsLoanScheduleAmortization[]List of amortizations monthly paid until the term of the loan (see below "Loan Amortizations")
configLoanScheduleConfigConfiguration of the output (see below "Configuration")

Loan Settings

Settings object that describes the properties of the loan

LoanScheduleSettings type

PropertyTypeDescription
amountnumberAmount of the loan in any currencyAmount of the loan in any currency
termnumberLoan term in years
interestRatenumberInterest rate in percentage
insuranceRatenumberInsurance rate in percentage

Loan Amortizations

List of amortizations monthly paid until the term of the loan

LoanScheduleAmortization type

PropertyTypeDescription
labelstringLabel of the amortization
valuenumberMonthly amount of the amortization
ratenumberYearly inflation rate of the amortization (optional).
typeLoanScheduleAmortizationTypeType of the amortization: "credit" or "debit"
computeLoanScheduleComputeComputation method of the amortization (optional). That means the amount has to be automatically calculated by the class. "payment" and "insurance" are available so far.

Configuration

The configuration object allows to change the output to reflect your specific needs.

LoanScheduleConfig type

PropertyTypeDescription
headers
--- payment
------- labelstringLabel of the payment amortization
--- insurance
------- labelstringLabel of the insurance amortization

Development

A demo can be served for development purpose on http://localhost:10001/ running:

yarn dev
2.1.2

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago