Nifty Procrastination Machine
Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

mobitel-iso-3166-countries

1.1.1 • Public • Published

Mobitel Ltd. ISO-3166 Countries

NodeJs module based on ISO-3166 for validate and get basic info by country

Attention

This module writing and testing on NodeJs v.8+ and NPM v.5+. Using the module in previous versions of NodeJs does not guarantee correct works.

Navigation

Installation

npm i --save mobitel-iso-3166-countries

up to navigation

Example

Now for each country exist:

  • country - Country name
  • alpha2- Alphabetic code of country (2 symbols)
  • alpha3 - Alphabetic code of country (3 symbols)
  • numeric - Numeric code of country
const isoCountries = required('mobitel-iso-3166-countries');
 
// validate
const valid2 = isoCountries.validate('AF'); //=> true
const valid3 = isoCountries.validate('AFG'); //=> true
const validNum = isoCountries.validate('004'); //=> true
const invalid2 = isoCountries.validate('ZY'); //=> false
const invalid3 = isoCountries.validate('ZYX'); //=> false
const invalidNum = isoCountries.validate('000'); //=> false
 
// get data
const data2 = isoCountries.get('AF'); //=> {country: 'Afghanistan', alpha2: 'AF', alpha3: 'AFG', numeric: '004'}
const data3 = isoCountries.get('AFG'); //=> {country: 'Afghanistan', alpha2: 'AF', alpha3: 'AFG', numeric: '004'}
const dataNum = isoCountries.get('004'); //=> {country: 'Afghanistan', alpha2: 'AF', alpha3: 'AFG', numeric: '004'}
const noData2 = isoCountries.get('ZY'); //=> null
const noData3 = isoCountries.get('ZYX'); //=> null
const noDataNum = isoCountries.get('000'); //=> null
 
// get list of codes
const listOfCodes1 = isoCountries.getCodeList('alpha3'); //=> ['AFG', ...]
const listOfCodes2 = isoCountries.getCodeList('alpha3', 'numeric'); //=> ['AFG', ..., '004', ...]
const listOfCodes3 = isoCountries.getCodeList(['alpha3']); //=>  ['AFG', ...]
const listOfCodes4 = isoCountries.getCodeList(['alpha3', 'numeric']); //=> ['AFG', ..., '004', ...]
 
const listOfCodes5 = isoCountries.getCodeList('unknown'); //=> null
const listOfCodes7 = isoCountries.getCodeList(['unknown']); //=>  null
const listOfCodes6 = isoCountries.getCodeList('unknown', 'numeric'); //=> null
const listOfCodes8 = isoCountries.getCodeList(['unknown', 'numeric']); //=> null

up to navigation

API

.list

Property - {country: String, alpha2: String, alpha3: String, numeric: String}[] - contains full countries list.

Example

const list = isoCountries.list; //=> objects list 

up to navigation

.validate(code)

Argument - String - country code like 'AF'(alpha2), 'AFG'(alpha3) or '004'(numeric).

If code exist return true, otherwise false.

Example

const valid2 = isoCountries.validate('AF'); //=> true
const valid3 = isoCountries.validate('AFG'); //=> true
const validNum = isoCountries.validate('004'); //=> true
const invalid2 = isoCountries.validate('ZY'); //=> false
const invalid3 = isoCountries.validate('ZYX'); //=> false
const invalidNum = isoCountries.validate('000'); //=> false

up to navigation

.get(code)

Argument - String - country code like 'AF'(alpha2), 'AFG'(alpha3) or '004'(numeric).

If code exist return object with simple country data like {country: 'Afghanistan', alpha2: 'AF', alpha3: 'AFG', numeric: '004'}, otherwise null.

Example

const data2 = isoCountries.get('AF'); //=> {country: 'Afghanistan', alpha2: 'AF', alpha3: 'AFG', numeric: '004'}
const data3 = isoCountries.get('AFG'); //=> {country: 'Afghanistan', alpha2: 'AF', alpha3: 'AFG', numeric: '004'}
const dataNum = isoCountries.get('004'); //=> {country: 'Afghanistan', alpha2: 'AF', alpha3: 'AFG', numeric: '004'}
const noData2 = isoCountries.get('ZY'); //=> null
const noData3 = isoCountries.get('ZYX'); //=> null
const noDataNum = isoCountries.get('000'); //=> null

up to navigation

.getCodeList(codeName[, codeName]|[codeName[, codeName]])

Arguments - String|String[] - country code name. Can accept variants:

  • codeName1
  • codeName1, codeName2
  • [codeName1]
  • [codeName1, codeName2]

Return array of all exist codes from arguments or null.

Example

const listOfCodes1 = isoCountries.getCodeList('alpha3'); //=> ['AFG', ...]
const listOfCodes2 = isoCountries.getCodeList('alpha3', 'numeric'); //=> ['AFG', ..., '004', ...]
const listOfCodes3 = isoCountries.getCodeList(['alpha3']); //=>  ['AFG', ...]
const listOfCodes4 = isoCountries.getCodeList(['alpha3', 'numeric']); //=> ['AFG', ..., '004', ...]
 
const listOfCodes5 = isoCountries.getCodeList('unknown'); //=> null
const listOfCodes7 = isoCountries.getCodeList(['unknown']); //=>  null
const listOfCodes6 = isoCountries.getCodeList('unknown', 'numeric'); //=> null
const listOfCodes8 = isoCountries.getCodeList(['unknown', 'numeric']); //=> null

up to navigation

Test

npm run test

up to navigation

License

MIT License. Copyright (c) 2017 Mobitel Ltd

up to navigation

Install

npm i mobitel-iso-3166-countries

DownloadsWeekly Downloads

38

Version

1.1.1

License

MIT

Last publish

Collaborators

  • avatar