Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
financial
Advanced tools
Readme
A Zero-Dependency TypeScript / JavaScript financial utility library inspired by numpy-financial that can be used on Node.js, Deno, Bun and the browser.
It does support the same functionality offered by numpy-financial
but it only supports scalar JavaScript number
values (NO numpy-like array values) and it does NOT support arbitrary-precision signed decimal numbers (such as decimal.js, big.js or bignumber.js).
📖 API DOCS 📖 : financialjs.netlify.app
With npm
:
npm install --save-dev financial
Or, with yarn
:
yarn add financial
import { fv } from 'financial'
fv(0.05 / 12, 10 * 12, -100, -100) // 15692.928894335748
This library exports its functionality using different module formats.
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.
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.
Make sure you specify the version you prefer in the import URL:
import { assertEquals } from 'https://deno.land/std/testing/asserts.ts'
import * as f from 'https://deno.land/x/npm:financial@0.1.1/src/financial.ts'
assertEquals(f.fv(0.05 / 12, 10 * 12, -100, -100), 15692.928894335755)
Click on the function name to get the full documentation for every function, or check out the full programmatic documentation at financialjs.netlify.app.
fv()
: Future Value (since v0.0.12)pmt()
: Total payment (since v0.0.12)nper()
: Number of period payments (since v0.0.12)ipmt()
: Interest portion of a payment (since v0.0.12)ppmt()
: Payment against loan principal (since v0.0.14)pv()
: Present Value (since v0.0.15)rate()
: Rate of interest per period (since v0.0.16)irr()
: Internal Rate of Return (since v0.0.17)npv()
: Net Present Value (since v0.0.18)mirr()
: Modified Internal Rate of Return (since 0.1.0)Below is a list of commands you will probably find useful.
npm start
or yarn start
: Runs the project in development/watch mode. Your project will be rebuilt upon changes.npm run build
or yarn build
: Bundles the package to the dist
folder. The package is optimized and bundled with Rollup into multiple format (CommonJS, UMD, and ES Module).npm run build:docs
or yarn build:docs
: Builds the API documentation in the docs
folder using typedoc
.npm test
or yarn 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
or yarn test:watch
: runs the tests in watch modeTo test with Deno, run:
deno test test/deno.ts
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.
Licensed under MIT License. © Luciano Mammino.
FAQs
A Zero-dependency TypeScript/JavaScript port of numpy-financial
The npm package financial receives a total of 2,879 weekly downloads. As such, financial popularity was classified as popular.
We found that financial demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.