Mbanq's library to work with countries, timezones and currencies
npm install --save @mbanq/ctc
A country object has following attributes:
- code - The country code ISO code
- name - Name of the country
- timezones - An array of the country's timezones
{
"code": "PT",
"name": "Portugal",
"timezones": [
"Europe/Lisbon",
"Atlantic/Madeira",
"Atlantic/Azores"
]
}
A timezone object has following attributes:
- name - The name of the timezone.
- utcOffset - UTC offset in minutes.
- offsetStr - UTC offset in hours (human readable string).
- countries - An array of country codes in the timezone.
{
"name": "Europe/Andorra",
"utcOffset": 60,
"offsetStr": "+01:00",
"countries": [ "AD" ]
}
A currency object has following attributes:
- symbol - Symbolic representation of the currency, e.g. 'Skr'
- name - Name of the currency e.g. 'Swedish Krona'
- symbol_native - Currenncy's native symbol, e.g. 'kr'
- decimal_digits - number of decimal digits, e.g. 2
- rounding - currency rounding
- code - ISO 4217 currency code, e.g. 'SEK'
- name_plural - Currency's plural form, e.g. 'Swedish kronor'
{
"symbol": "Skr",
"name": "Swedish Krona",
"symbol_native": "kr",
"decimal_digits": 2,
"rounding": 0,
"code": "SEK",
"name_plural": "Swedish kronor"
}
const ctc = require('@mbanq/ctc')
ctc
exposes 3 functions:
ctc.countries()
=>Array
ctc.timezones()
=>Array
ctc.search()
=>Array
countries()
function accepts a country name as a parameter, e.g.
ctc.countries('Portugal')
[
{
"code": "PT",
"name": "Portugal",
"timezones": [
"Europe/Lisbon",
"Atlantic/Madeira",
"Atlantic/Azores"
]
}
]
countries()
function always returns an Array
timezones()
function accepts a country name as a parameter, e.g.
ctc.timezones('Portugal')
[
{
"name": "Europe/Lisbon",
"utcOffset": 0,
"offsetStr": "+00:00",
"countries": [ "PT" ]
},
{
"name": "Atlantic/Madeira",
"utcOffset": 0,
"offsetStr": "+00:00",
"countries": [ "PT" ]
},
{
"name": "Atlantic/Azores",
"utcOffset": -60,
"offsetStr": "-01:00",
"countries": [ "PT" ]
}
]
If you don't provide a country name to the timezones()
function - the result
will contain all the timezones
timezones()
function always returns an Array
currencies()
function accepts an Array
of currency codes, e.g.
ctc.currencies(['HTG','USD'])
[
{
"symbol": "HTG",
"name": "Haitian gourde",
"symbol_native": "G",
"decimal_digits": 2,
"rounding": 0,
"code": "HTG",
"name_plural": "Haitian gourdes"
},
{
"symbol": "$",
"name": "US Dollar",
"symbol_native": "$",
"decimal_digits": 2,
"rounding": 0,
"code": "USD",
"name_plural": "US dollars"
}
]
search()
functions accepts a String
as a parameter and attempts to find
countries that have the provided parameter either in the name
of the country
or in the country code
, e.g. ctc.search('neth')
would produce following
result:
[
{
"code": "BQ",
"name": "Caribbean Netherlands",
"timezones": [ "America/Curacao" ]
},
{
"code": "NL",
"name": "Netherlands",
"timezones": [ "Europe/Amsterdam" ]
}
]
Search is not case sensitive, we toLowerCase()
everything