country-fns

1.3.0 • Public • Published

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 {...props}>
    {getCountries().map((c) => 
      <option value={c.iso2}>{c.name}</option>
    )}
  </select>
 
export default SelectCountry

Other use cases

  • Intelligent telephone placeholder and input masks
  • Telephone number validation
  • Localized tel: and sms: <a> elements
  • Other annoying stuff I never want to lookup again.

API

getCountry(code: string): Country

Returns a single country by its ISO2 code.

const { getCountry } = require('country-fns')
 
const hockeyLand = getCountry('ca')
 
console.log(hockeyLand.name) // => Canada
console.log(hockeyLand.format) // => Canada

getCountries(): Country[]

Returns an array of all countries

const { getCountries } = require('country-fns')
 
const allCountries = getCountries()
 
console.log(allCountries)
 
/*
[
   {
    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 } = require('country-fns')
 
console.log(countries)
 
/*
{
  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 } = require('country-fns')
 
console.log(iso2Codes)
 
/*
['af', 'al', 'dz', 'as', 'ad', 'ao', ... ]
*/

Author


MIT LICENSE.

/country-fns/

    Package Sidebar

    Install

    npm i country-fns

    Weekly Downloads

    177

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    196 kB

    Total Files

    11

    Last publish

    Collaborators

    • jaredpalmer