npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

country-code-info

v0.3.0

Published

A library to get country information in various standards.

Downloads

2,382

Readme

:globe_with_meridians: Country Code Info :globe_with_meridians:

A JavaScript module to get country information in various standards.

Data Fields Available

Country name: -
A-2: Alpha-2 codes from ISO 3166-1
A-3: Alpha-3 codes from ISO 3166-1 (synonymous with World Bank Codes)
Num: Numeric codes from ISO 3166-1
ITU: Codes assigned by the International Telecommunications Union
GEC: Codes from the U.S. standard GEC
IOC: Codes assigned by the International Olympics Committee . These codes identify the nationality of athletes and teams during Olympic events.
FIFA: Codes assigned by the Fédération Internationale de Football Association
DS: Distinguishing signs of vehicles in international traffic (oval bumper sticker codes)
WMO: Country abbreviations used in weather reports from the World Meteorological Organization
GAUL: Global Administrative Unit Layers from the Food and Agriculture Organization
MARC: MAchine-Readable Cataloging codes from the Library of Congress
Dial: Country code from ITU-T recommendation E.164 (international dialing code), sometimes followed by area code
Independent: Country status, based on the CIA World Factbook. This column is just a superficial note, provided for convenience. I don't care to
argue about it. For full details, please consult your favorite official source.

Data was gathered from http://www.statoids.com/wab.html

Installation

npm install country-code-info --save

Usage

const CountryCodes = require('country-code-info');

// you can search countries by any data field
// by passing in a key value pair
// key: data field
// value: value to search for

let uk = CountryCodes.findCountry({'name': 'United Kingdom'});
/* returns:
{
	'name': 'United Kingdom',
	'a2': 'GB',
	'a3': 'GBR',
	'num': '826',
	'itu': 'G',
	'gec': 'UK',
	'ioc': 'GBR',
	'fifa': 'ENG, NIR, SCO, WAL',
	'ds': 'GB',
	'wmo': 'UK',
	'gaul': '256',
	'marc': 'xxk',
	'dial': '44',
	'independent': 'Yes'
}
*/

// examples showing searching by various data fields
let uk = CountryCodes.findCountry({'fifa': 'eng'});
let uk = CountryCodes.findCountry({'dial': '44'});

// if you need to match exactly the string you pass in
// as the search term, you can pass in a second argument
// to findCountry function which will enable exact match.
let uk = CountryCodes.findCountry({'ds': 'gb'}, true); // exact match

Notes

If a country is not found, a null object is returned.

Key and Value pairs are not case-sensitive so {'name':'united kingdom'} and {'NAME': 'united kingdom'} are treated in the same way.

If an invalid data field key is used or a search object is not provided, errors are thrown.

Contribution

If you spot any problems, feel free to raise an issue or submit a PR.