2.2.0 • Published 7 months ago

@osskit/currencies v2.2.0

Weekly downloads
-
License
-
Repository
github
Last release
7 months ago

@osskit/currencies

A TypeScript library for handling currency codes, symbols, and conversions.

Installation

yarn add @osskit/currencies

or

npm install @osskit/currencies

Usage

Importing the library

import {
  getByCode,
  getByNumber,
  isCurrencyCode,
  toMajorUnit,
  toMinorUnit,
  getSymbolByCode,
  isAmount,
  calculateRate,
  applyRate,
} from '@osskit/currencies';

Examples

Get currency by code

const currency = getByCode('EUR');
console.log(currency);

Get currency by number

const currency = getByNumber('978');
console.log(currency);

Check if a string is a valid currency code

const isValid = isCurrencyCode('USD');
console.log(isValid); // true

Convert to major unit

const majorUnit = toMajorUnit({ value: 100_000, currency: 'USD' });
console.log(majorUnit); // 1000

Convert to minor unit

const minorUnit = toMinorUnit(1000, 'USD');
console.log(minorUnit); // 100_000

Get symbol by currency code

const symbol = getSymbolByCode('USD');
console.log(symbol); // $

Check if an object is a valid amount

const validAmount = isAmount({ value: 1000, currency: 'USD' });
console.log(validAmount); // true

Calculate exchange rate

const rate = calculateRate({ value: 1000, currency: 'USD' }, { value: 800, currency: 'EUR' });
console.log(rate); // 0.8

Apply exchange rate to amount

const convertedAmount = applyRate({ value: 100_000, currency: 'USD' }, 'EUR', 0.8);
console.log(convertedAmount); // { value: 80_000, currency: 'EUR' }

Running Tests

To run the tests, use the following command:

yarn test

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

1.1.1

12 months ago

1.1.0

1 year ago

1.1.2

12 months ago

2.1.2

7 months ago

2.2.0

7 months ago

2.1.1

9 months ago

2.1.0

10 months ago

2.0.0

11 months ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.7

2 years ago

0.0.5

3 years ago

0.0.6

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago