country-fns
Useful country data for forms and stuff.
Install
npm install country-fns --save
Overview
Each country in country-fns is represented by an object with the following keys:
name
: Common name and native name in parentheses if available.iso2
: 2 character ISO2 code. Lowercase.dial
: International calling code.format
: Telephone format.
Quick Example
Imagine you need to make a "Select Country" input.
import React from 'react'import getCountries from 'country-fns' const SelectCountry = props <select > </select>
Other use cases
- Intelligent telephone placeholder and input masks
- Telephone number validation
- Localized
tel:
andsms:
<a>
elements - Other annoying stuff I never want to lookup again.
API
getCountry(code: string): Country
getCountries(): Country[]
countries = { [code: string]: Country }
iso2Codes = string[]
getCountry(code: string): Country
Returns a single country by its ISO2 code.
const getCountry = const hockeyLand = console // => Canadaconsole // => Canada
getCountries(): Country[]
Returns an array of all countries
const getCountries = const allCountries = console /*[ { name: 'Afghanistan (افغانستان)', iso2: 'af', dial: '93', format: '+..-..-...-....', }, { name: 'Albania (Shqipëri)', iso2: 'al', dial: '355', format: '+...(...)...-...', }, { name: 'Algeria (الجزائر)', iso2: 'dz', dial: '213', format: '+...-..-...-....', }, ...]*/
countries = { [code: string]: Country }
An object containing all countries, keyed by lowercase ISO2 code.
const countries = console /*{ af: { name: 'Afghanistan (افغانستان)', iso2: 'af', dial: '93', format: '+..-..-...-....', }, al: { name: 'Albania (Shqipëri)', iso2: 'al', dial: '355', format: '+...(...)...-...', }, dz: { name: 'Algeria (الجزائر)', iso2: 'dz', dial: '213', format: '+...-..-...-....', }, ...}*/
iso2Codes = string[]
An array of all ISO2 Codes (lowercase).
const iso2Codes = console /*['af', 'al', 'dz', 'as', 'ad', 'ao', ... ]*/
Author
- Jared Palmer (@jaredpalmer)
MIT LICENSE.