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
Latest Release : v2.0.0
(First Major Version Release - Not backward compatible)
-
ES6 Module usage
import csc from 'country-state-city'
import { ICountry, IState, ICity } from 'country-state-city'
-
AMD Module usage
let csc = require('country-state-city').default
For versions v0.1.8 and below
Docs
getCountryByCode(code)
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"
}
]
}
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"
}
]
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"
}
]
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"
}
]
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"
}
]
}
]
getAllStates
It returns all States
type: array of json | IState
[
{
"name": "Delhi",
"isoCode": "DL",
"countryCode": "IN",
"latitude": "28.70405920",
"longitude": "77.10249020"
}
]
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
Change Logs
v2.0.0 (Backward Incompatible) :: Data Source (dr5hn)
- Not backward compatible with previous versions.
- New and updated API functions.
- Removed proprietor Indexed Id's for uniquely identifying Country, State, City. Instead now using standard isoCodes.
- Data taken from more robust and accurate database.
- Countries with their respective flags, isoCode, currencies, latitude, longitude & timezones.
- States & cities with their latitude & longitude.
v1.0.0 :: Data Source (hiiamrohit)
export = {}
changed to export default
in index.ts.Interface
type re-exported
from index.ts
.Compatible
with ES6
module syntax.Compatible
with AMD
module - using require('../index').default
.- Add tests for Interface Re-Exports.
- Test cases for both AMD modules and ES6 modules usage.
- Common Test Cases are being shared between AMD and ES6 modules test files.
v0.1.8 :: Data Source (hiiamrohit)
- Development code - Javascript to Typescript conversion: #12
v0.1.0
- Fix: #2
- Fix: #3
- Added some missing states and cities for Canada and US