/country-state-city

Basic library for Country, State and City

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

country-state-city

Basic library for Country, State and City

Data Source:
https://github.com/dr5hn/countries-states-cities-database
For any data related issue, you can raise a Issue here.

Install

npm i country-state-city

Usage

Release : v3.0.0 (Major Version Release - Not backward compatible)

  • ES6 Module usage

    // Latest version - v3.0.0 with Tree Shaking to reduce bundle size
    import { Country, State, City }  from 'country-state-city';
    console.log(Country.getAllCountries())
    console.log(State.getAllStates())
    
    // Import Interfaces`
    import { ICountry, IState, ICity } from 'country-state-city'
  • AMD Module usage

    // Latest version - v3.0.0
    let Country = require('country-state-city').Country;
    let State = require('country-state-city').State;
    
    console.log(Country.getAllCountries())
    console.log(State.getAllStates())

For versions below v2.2.0 and above v0.1.8

  • ES6 Module usage

    import csc from 'country-state-city';
  • AMD Module usage

    let csc = require('country-state-city').default;

Docs

City.getCountryByCode(countryCode)

It accepts a valid CountryCode eg: 'AS' and returns Country Details

type: json | ICountry

{
	"isoCode": "IN",
	"name": "India",
	"phonecode": "91",
	"flag": "🇮🇳",
	"currency": "INR",
	"latitude": "20.00000000",
	"longitude": "77.00000000",
	"timezones": [
		{
			"zoneName": "Asia\/Kolkata",
			"gmtOffset": 19800,
			"gmtOffsetName": "UTC+05:30",
			"abbreviation": "IST",
			"tzName": "Indian Standard Time"
		}
	]
}

State.getStateByCodeAndCountry(stateCode, countryCode)

It accepts a valid StateCode eg: 'TG' CountryCode eg: 'IN' and returns State Details

type: json | ICountry

{
	"name": "Telangana",
	"isoCode": "TG",
	"countryCode": "IN",
	"latitude": "18.11243720",
	"longitude": "79.01929970"
}

State.getStatesOfCountry(countryCode)

It accepts a valid CountryCode and returns all States as Array of JSON

type: array of json | IState

[
	{
		"name": "Delhi",
		"isoCode": "DL",
		"countryCode": "IN",
		"latitude": "28.70405920",
		"longitude": "77.10249020"
	}
]

City.getCitiesOfState(countryCode, stateCode)

It accepts a valid CountryCode, StateCode and returns all Cities as Array of JSON

type: array of json | ICity

[
	{
		"name": "New Delhi",
		"countryCode": "IN",
		"stateCode": "DL",
		"latitude": "28.63576000",
		"longitude": "77.22445000"
	}
]

City.getCitiesOfCountry(countryCode)

It accepts a valid CountryCode and returns all Cities as Array of JSON

type: array of json | ICity

[
	{
		"name": "New Delhi",
		"countryCode": "IN",
		"stateCode": "DL",
		"latitude": "28.63576000",
		"longitude": "77.22445000"
	}
]

Country.getAllCountries

It returns all Countries

type: array of json | ICountry

[
	{
		"isoCode": "IN",
		"name": "India",
		"phonecode": "91",
		"flag": "🇮🇳",
		"currency": "INR",
		"latitude": "20.00000000",
		"longitude": "77.00000000",
		"timezones": [
			{
				"zoneName": "Asia\/Kolkata",
				"gmtOffset": 19800,
				"gmtOffsetName": "UTC+05:30",
				"abbreviation": "IST",
				"tzName": "Indian Standard Time"
			}
		]
	}
]

State.getAllStates

It returns all States

type: array of json | IState

[
	{
		"name": "Delhi",
		"isoCode": "DL",
		"countryCode": "IN",
		"latitude": "28.70405920",
		"longitude": "77.10249020"

	}
]

City.getAllCities

It returns all Cities

type: array of json | ICity

[
	{
		"name": "Delhi",
		"isoCode": "DL",
		"countryCode": "IN",
		"latitude": "28.70405920",
		"longitude": "77.10249020"
	}
]

Special Thanks

@baywet - For mentoring Javascript to Typescript Conversion

@dr5hn - For updated World Data Dictionary

taylorthurlow - For pointing into right direction - Module Tree Shaking