Package Exports
- country-codes-list
- country-codes-list/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (country-codes-list) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
country-codes-list
Module with list of codes per country, including country codes, currency codes, and more.
[!WARNING]
Release v2.0.0 introduces breaking changes with full TypeScript support and automated testing/publishing.
Features
- Country code (ISO 3166-1 alpha-2): Obtained from Wikipedia
- Country Name: Each name in english and in the local country language
- Currency Code (ISO 4217): Obtained from Wikipedia
- Currency Name (ISO 4217): Obtained from Wikipedia
- TIN Code (Taxpayer Identification Number, also known as VAT in some countries): Obtained from Wikipedia
- TIN Name: Obtained from Wikipedia
- Official language code (usually from ISO 639-1, or ISO 639-3 otherwise)): Obtained from Open Street Map. Returns only the first official language code per country
- Official language name: Each name in english and in the local country language
- Country Calling Code: The phone calling code for the country. Obtained from Wikipedia.
- Region: The Regional Classifications are from the International Telecommunications Union. Seen here
Installation
Install the package via npm:
npm install --save country-codes-list
Build & Test
To compile the package, run:
npm run build
The compiled output will be in the dist/
folder.
To run tests:
npm test
Installation
Install the NPM module
npm install --save country-codes-list
Migration Guide (v1.x to v2.0)
Breaking Changes
TypeScript Types: If you were using types:
// Old (v1.x) import { CountryProperty } from "country-codes-list"; const prop: CountryProperty = CountryProperty.countryCode; // New (v2.0) import type { CountryProperty } from "country-codes-list"; const prop: CountryProperty = "countryCode";
Module Imports: Now supports both CommonJS and ES modules:
// CommonJS (still works) const countryCodes = require("country-codes-list"); // ES Modules (new) import * as countryCodes from "country-codes-list";
Stricter Types: Some functions now have stricter type checking:
// This now requires valid country property keys countryCodes.filter("invalidKey", "value"); // TypeScript error
Usage
This package can be used in both CommonJS (JavaScript) and TypeScript environments.
CommonJS
const countryCodes = require("country-codes-list");
const myCountryCodesObject = countryCodes.customList(
"countryCode",
"[{countryCode}] {countryNameEn}: +{countryCallingCode}"
);
console.log(myCountryCodesObject);
TypeScript
import * as countryCodes from "country-codes-list";
const myCountryCodesObject = countryCodes.customList(
"countryCode",
"[{countryCode}] {countryNameEn}: +{countryCallingCode}"
);
console.log(myCountryCodesObject);
API Details – customList Method
- The first parameter is the key used for the returned object's property.
- The second parameter is a string with placeholders (in
{placeholder}
format) replaced by corresponding country properties.
The available placeholders are:
countryNameEn
countryNameLocal
countryCode
currencyCode
currencyNameEn
tinType
tinName
officialLanguageCode
officialLanguageNameEn
officialLanguageNameLocal
countryCallingCode
region
globalSouth
Example
const countryCodes = require("country-codes-list");
const myCountryCodesObject = countryCodes.customList(
"countryCode",
"[{countryCode}] {countryNameEn}: +{countryCallingCode}"
);
This will return an object like this one:
{
'AD': '[AD] Andorra: +376',
'AE': '[AE] United Arab Emirates: +971',
'AF': '[AF] Afghanistan: +93',
'AG': '[AG] Antigua and Barbuda: +1',
'AI': '[AI] Anguilla: +1',
'AL': '[AL] Albania: +355',
'AM': '[AM] Armenia: +374',
'AO': '[AO] Angola: +244',
'AQ': '[AQ] Antarctica: +',
'AR': '[AR] Argentina: +54',
'AS': '[AS] American Samoa: +1',
'AT': '[AT] Austria: +43',
'AU': '[AU] Australia: +61',
'AW': '[AW] Aruba: +297',
...
}