Skip to content

Get countries, states, currency, language, phone code, ISO standards, etc.

Notifications You must be signed in to change notification settings

sarkistlt/get-countries-info

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NPM NPM

Collection of 231 countries with detailed, information, such a, 'languages', 'currencies', 'provinces', 'timezones' and etc. even link to "wiki". You can fetch only that fields which you need in specific country only or all together.

data structure

Also you have two way how to use this package:

  1. simple use, just import one function and fetch only that data which you need.
  2. for advanced users, graphQL

Install

npm i -S get-countries-info

##vanilla-javaScript

import countries from 'get-countries-info';

countries({}); //will return array of all countries with all fields
countries({}, 'name'); //will return array of all countries name, note that you have to pass empty object as first argument
countries({ISO: 'USA'}, 'provinces'); //return array of all provinces in USA

As you noted, first argument is query object, and second is a string name of property you want to fetch. Full data structure with all fields you'll see below. Also in vanilla-javaScript mode, you can fetch only one specific property at time or all together. So if you want to fetch couple additional properties, you have to call this function for each property, or you can use graphQL mode and in one query fetch all you need.

First argument is an object with queries, it supports following queries:

import countries from 'get-countries-info';

let query = {
        name: 'String', //country name
        capital: 'String',
        currency: 'String',
        region: 'String',
        language: 'String',
        ISO: 'String' //country ISO 3166-1 alpha-3 or alpha-2 code
}
countries(query); //to fetch all fields
//or
countries(query, 'provinces'); //or to get only 'provinces'

##graphQL

####Make sure that your graphql package is the same version as used in get-countries-info or vice versa.

In your queries file:

import {GraphQLObjectType} from 'graphql';
import countriesQuery from 'get-countries-info/lib/graphql';

let queries = new GraphQLObjectType({
    name: 'Query',
    fields: () => ({
        ...
        ...
        ...
        getCountries: countriesQuery
    })
});

And that's it! Now you can use graphQL to query specific shape of object you need. Query method support same variables as above: name: 'String', capital: 'String', currency: 'String', region: 'String', language: 'String', ISO: 'String'.

###Example

{
  getCountries(ISO: "USA") {
    name
    wiki
    population
    ISO {
      alpha2
      alpha3
    }
    provinces
  }
}

Will return:

{
  "data": {
    "getCountries": [
      {
        "name": "United States",
        "wiki": "http://en.wikipedia.org/wiki/united_states_of_america",
        "population": 319259000,
        "ISO": {
          "alpha2": "US",
          "alpha3": "USA"
        },
        "provinces": [
          "Alabama",
          "Alaska",
          "Arizona",
          "Arkansas",
          "California",
          ...
          ...
          ...
        ]
      }
    ]
  }
}

##data-structure

Data always comes as array of objects. Each object presents country and has following shape.

{
  name: String,
      altSpellings: Array,
      area: Number,
      borders: Array,
      callingCodes: Array,
      capital: String,
      currencies: Array,
      demonym: String,
      flag: String,
      ISO: {
          alpha2: String,
          alpha3: String
      },
      languages: Array,
      latlng: [Number],
      nativeName: String,
      population: Number,
      provinces: Array,
      region: String,
      subregion: String,
      timezones: Array,
      tld: Array,
      translations: {
          de: String,
          es: String,
          fr: String,
          ja: String,
          it: String
      },
      wiki: String
}

####Star to be up to date.

About

Get countries, states, currency, language, phone code, ISO standards, etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •