@gaignoux/currency
Version:
A way to get all currency information from around the world.
336 lines (289 loc) • 15.4 kB
Markdown
# Currency Localization Package
A way to get all currency information from around the world.
## Installation
To install the package you can use npm or yarn:
```bash
npm install @gaignoux/currency
```
or
```bash
yarn add @gaignoux/currency
```
## Usage
The package provides several useful functions for obtaining currency information. Here's an example of how to use it:
```typescript
// ES5
const { getCurrencyName } = require('@gaignoux/currency');
// ES6
import {
getCurrencySymbol,
getCurrencyCountry,
getCurrencyLocaleCode,
getCurrencySymbolByLocale,
getCurrencySymbolByCountry,
getAllCodes,
getAllNames,
getAllSymbols,
getAllLocales,
getCurrencyObject,
} from '@gaignoux/currency';
const currencyCode = 'USD';
console.log('Name:', getCurrencyName(currencyCode));
console.log('Symbol:', getCurrencySymbol(currencyCode));
console.log('Country:', getCurrencyCountry(currencyCode));
console.log('Locale Code:', getCurrencyLocaleCode('en-US'));
console.log('Symbol by Locale:', getCurrencySymbolByLocale('en-US'));
console.log('Symbol by Country:', getCurrencySymbolByCountry('United States'));
console.log('All Codes:', getAllCodes());
console.log('All Names:', getAllNames());
console.log('All Symbols:', getAllSymbols());
console.log('All Locales:', getAllLocales());
console.log('Currency Object:', getCurrencyObject(currencyCode));
```
## Countries covered
| Locale Code | Country |
|-------------|---------------------------------------|
| ar-AE | United Arab Emirates |
| ps-AF | Afghanistan |
| sq-AL | Albania |
| hy-AM | Armenia |
| nl-AW | Aruba |
| pt-AO | Angola |
| es-AR | Argentina |
| en-AU | Australia |
| az-AZ | Azerbaijan |
| bs-BA | Bosnia and Herzegovina |
| en-BB | Barbados |
| bn-BD | Bangladesh |
| bg-BG | Bulgaria |
| ar-BH | Bahrain |
| fr-BI | Burundi |
| en-BM | Bermuda |
| ms-BN | Brunei Darussalam |
| es-BO | Bolivia |
| pt-BR | Brazil |
| en-BS | Bahamas |
| dz-BT | Bhutan |
| en-BW | Botswana |
| be-BY | Belarus |
| en-BZ | Belize |
| en-CA | Canada |
| fr-CD | Democratic Republic of the Congo |
| de-CH | Switzerland |
| es-CL | Chile |
| zh-CN | China |
| es-CO | Colombia |
| es-CR | Costa Rica |
| es-CU | Cuba |
| pt-CV | Cabo Verde |
| cs-CZ | Czech Republic |
| fr-DJ | Djibouti |
| da-DK | Denmark |
| es-DO | Dominican Republic |
| ar-DZ | Algeria |
| ar-EG | Egypt |
| ti-ER | Eritrea |
| am-ET | Ethiopia |
| en-GB | United Kingdom |
| en-FJ | Fiji |
| en-FK | Falkland Islands (Malvinas) |
| ka-GE | Georgia |
| en-GH | Ghana |
| en-GI | Gibraltar |
| en-GM | Gambia |
| fr-GN | Guinea |
| es-GT | Guatemala |
| en-GY | Guyana |
| zh-HK | Hong Kong |
| es-HN | Honduras |
| hr-HR | Croatia |
| ht-HT | Haiti |
| hu-HU | Hungary |
| id-ID | Indonesia |
| he-IL | Israel |
| hi-IN | India |
| ar-IQ | Iraq |
| fa-IR | Iran |
| is-IS | Iceland |
| en-JM | Jamaica |
| ar-JO | Jordan |
| ja-JP | Japan |
| sw-KE | Kenya |
| ky-KG | Kyrgyzstan |
| km-KH | Cambodia |
| ar-KM | Comoros |
| ko-KP | Democratic People's Republic of Korea |
| ko-KR | Republic of Korea |
| ar-KW | Kuwait |
| en-KY | Cayman Islands |
| kk-KZ | Kazakhstan |
| lo-LA | Laos |
| ar-LB | Lebanon |
| si-LK | Sri Lanka |
| en-LR | Liberia |
| st-LS | Lesotho |
| lt-LT | Lithuania |
| lv-LV | Latvia |
| ar-LY | Libya |
| ar-MA | Morocco |
| ro-MD | Moldova |
| mg-MG | Madagascar |
| mk-MK | North Macedonia |
| my-MM | Myanmar |
| mn-MN | Mongolia |
| zh-MO | Macao |
| ar-MR | Mauritania |
| en-MU | Mauritius |
| dv-MV | Maldives |
| ny-MW | Malawi |
| es-MX | Mexico |
| ms-MY | Malaysia |
| pt-MZ | Mozambique |
| af-NA | Namibia |
| ig-NG | Nigeria |
| es-NI | Nicaragua |
| nb-NO | Norway |
| ne-NP | Nepal |
| en-NZ | New Zealand |
| ar-OM | Oman |
| es-PA | Panama |
| es-PE | Peru |
| en-PG | Papua New Guinea |
| en-PH | Philippines |
| ur-PK | Pakistan |
| pl-PL | Poland |
| es-PY | Paraguay |
| ar-QA | Qatar |
| ro-RO | Romania |
| sr-RS | Serbia |
| ru-RU | Russia |
| rw-RW | Rwanda |
| ar-SA | Saudi Arabia |
| en-SB | Solomon Islands |
| en-SC | Seychelles |
| ar-SD | Sudan |
| sv-SE | Sweden |
| en-SG | Singapore |
| en-SH | Saint Helena |
| en-SL | Sierra Leone |
| so-SO | Somalia |
| nl-SR | Suriname |
| en-SS | South Sudan |
| pt-ST | Sao Tome and Principe |
| ar-SY | Syria |
| ss-SZ | Eswatini |
| th-TH | Thailand |
| tg-TJ | Tajikistan |
| tk-TM | Turkmenistan |
| ar-TN | Tunisia |
| to-TO | Tonga |
| tr-TR | Turkey |
| en-TT | Trinidad and Tobago |
| zh-TW | Taiwan |
| sw-TZ | Tanzania |
| uk-UA | Ukraine |
| sw-UG | Uganda |
| en-US | United States of America |
| es-UY | Uruguay |
| uz-UZ | Uzbekistan |
| es-VE | Venezuela |
| vi-VN | Vietnam |
| en-VU | Vanuatu |
| sm-WS | Samoa |
| fr-CM | Cameroon |
| en | Global (Generic) |
| en-VC | Saint Vincent and the Grenadines |
| fr-BJ | Benin |
| fr-PF | French Polynesia |
| ar-YE | Yemen |
| zu-ZA | South Africa |
| en-ZM | Zambia |
| nl-BE | Belgium |
| nl-NL | Netherlands |
| pt-PT | Portugal |
| es-ES | Spain |
| fr-BE | Belgium (French) |
| fr-FR | France |
| it-IT | Italy |
| de-DE | Germany |
| de-AT | Austria |
| el-GR | Greece |
| ee-EE | Estonia |
| fi-FI | Finland |
| ga-IE | Ireland |
| mt-MT | Malta |
| sk-SK | Slovakia |
| sl-SI | Slovenia |
| fr-LU | Luxembourg |
| de-LU | Luxembourg (German) |
| lb-LU | Luxembourg (Letzeburgesch) |
| cy-CY | Cyprus |
| ad-AD | Andorra |
| al-AL | Albania |
| by-BY | Belarus |
| ba-BA | Bosnia and Herzegovina (Bosnian) |
| cz-CZ | Czech Republic |
| dk-DK | Denmark |
| fo-FO | Faroe Islands |
| gi-GI | Gibraltar |
| il-IL | Israel |
| xk-XK | Kosovo |
| li-LI | Liechtenstein |
| lu-LU | Luxembourg |
| md-MD | Moldova |
| mc-MC | Monaco |
| me-ME | Montenegro |
| no-NO | Norway |
| rs-RS | Serbia |
| sm-SM | San Marino |
| si-SI | Slovenia |
| se-SE | Sweden |
| ch-CH | Switzerland |
| ua-UA | Ukraine |
| va-VA | Vatican City |
## Available methods
- `getCurrencySymbol(code: TCurrencyCode): string`: Returns the currency symbol based on the currency code.
- `getCurrencyName(code: TCurrencyCode): string`: Returns the currency name based on the currency code.
- `getCurrencyCountry(code: TCurrencyCode): string`: Returns the country associated with a currency based on the currency code.
- `getCurrencyLocaleCode(locale: TCurrencyLocalCode): string`: Returns the locale code associated with a currency or an array of them based on the locale code.
- `getCurrencySymbolByLocale(locale: TCurrencyLocalCode): string`: Returns the currency symbol or an array of them based on the locale code.
- `getCurrencySymbolByCountry(country: string): string`: Returns the currency symbol based on the country.
- `getAllCodes(): string[]`: Returns all available currency codes.
- `getAllNames(): string[]`: Returns all available currency names.
- `getAllSymbols(): string[]`: Returns all available currency symbols.
- `getAllLocales(): string[]`: Returns all available locale codes.
- `getCurrencyObject(code: TCurrencyCode): TCurrency`: Returns an object containing complete information about a currency based on the currency code.
## Type information
With this package, you can use the available enums and types, such as:
### Types
#### TCurrency
> The type is used to represent complete currency data, including name, symbol, locale code, and associated country.
The type consists of the following fields:
- `name: CurrencyName`: The currency name.
- `symbol: CurrencySymbol`: The currency symbol.
- `locale: TCurrencyLocalCode | TCurrencyLocalCode[]`: The locale code associated with the currency.
- `country: CurrencyCountry`: The country associated with the currency.
#### TCurrencyCode
> Type with all available currency codes
#### TCurrencyLocalCode
> Type with all available locale codes
#### TCurrencySymbol
> Type with all available currency symbols
### Enums
#### CurrencySymbol
> Relationship between the currency code and its symbol.
#### CurrencyName
> Relationship between the currency code and its name
#### CurrencyCode
> All currency code available.
#### CurrencyLocale
> All currency locale available.
#### CurrencyCountry
> Relationship between the currency code and the country that uses it.
### Constants
#### CurrencyLocaleCode
> Relationship between the locale code and its currency code.
#### CurrencyCodeLocale
> Relationship between the currency code and its locale code.
## Contribute
Feel free to contribute or fork, but the purpose of this package is to be a hub of information that is often difficult to find elsewhere and is used daily in development. Clone it, make your changes, respect the organization, write a test to cover the change, and submit the PR.