Skip to content

gaignoux/currency

Repository files navigation

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:

npm install @gaignoux/currency

or

yarn add @gaignoux/currency

Usage

The package provides several useful functions for obtaining currency information. Here's an example of how to use it:

// 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.