Financial
A Zero-Dependency TypeScript / JavaScript financial utility library inspired by numpy-financial that can be used on both Node.js and the browser.
It does support the same functionality offered by numpy-financial
but it only support scalar values (no numpy-like array values) and it does not support decimal values.
📖 API DOCS 📖 : financialjs.netlify.app
Install
With npm
:
npm install --save-dev financial
Or, with yarn
:
yarn add financial
Example usage
import { fv } from 'financial'
fv(0.05 / 12, 10 * 12, -100, -100) // 15692.928894335748
Module formats
This library exports its functionality using different module formats.
Commonjs
const financial = require('financial') // ./index.js
// use `financial.fv`, `financial.pmt`, etc.
or, leveraging destructuring
const { fv, pmt } = require('financial') // ./index.js
// use `fv`, `pmt`, etc.
An optimized Commonjs for browsers can be imported directly from the web:
<script src="https://www.npmcdn.com/financial@x.y.z/dist/financial.cjs.production.min.js"></script>
Note: make sure you replace the x.y.z
with the correct version you want to use.
ESM (EcmaScript Modules)
Also working with Typescript
import { fv, pmt } from 'financial'
// use `fv`, `pmt`, etc.
There’s no default
export in the ESM implementation, so you have to explicitely import the functionality you need, one by one.
Implemented functions
-
fv
(since v0.0.12) -
pmt
(since v0.0.12) -
nper
(since v0.0.12) -
ipmt
(since v0.0.12) -
ppmt
(since v0.0.14) -
pv
(since v0.0.15) -
rate
(since v0.0.16) -
irr
(since v0.0.17) -
npv
(since v0.0.18) -
mirr
(since 0.1.0)
Local Development
Below is a list of commands you will probably find useful.
npm start
oryarn start
: Runs the project in development/watch mode. Your project will be rebuilt upon changes.npm run build
oryarn build
: Bundles the package to thedist
folder. The package is optimized and bundled with Rollup into multiple format (CommonJS, UMD, and ES Module).npm run build:docs
oryarn build:docs
: Builds the API documentation in thedocs
folder usingtypedoc
.npm test
oryarn test
: Runs the test watcher (Jest) in an interactive mode. it runs tests related to files changed since the last commit.npm run test:watch
oryarn test:watch
: runs the tests in watch mode
Contributing
Everyone is very welcome to contribute to this project. You can contribute just by submitting bugs or suggesting improvements by opening an issue on GitHub.
You can also submit PRs as long as you adhere with the code standards and write tests for the proposed changes.
License
Licensed under MIT License. © Luciano Mammino.