country-state-city
Basic library for Country, State and City
Data taken from:
https://github.com/hiiamrohit/Countries-States-Cities-database
Install
npm i country-state-city
Usage
Latest Release : v1.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
{
"id": "4",
"sortname": "AS",
"name": "American Samoa",
"phonecode": "1684"
}
getCountryById(id)
It accepts a valid CountryId
and returns Country Details
type: json | ICountry
{
"id": "4",
"sortname": "AS",
"name": "American Samoa",
"phonecode": "1684"
}
getStateById(id)
It accepts a valid StateId
and returns State Details
type: json | IState
{
"id": 4119,
"name": "Midlands",
"country_id": "246"
}
getCityById(id)
It accepts a valid CityId
and returns City Details
type: json | ICity
{
"id": "3",
"name": "Port Blair",
"state_id": "1"
}
getStatesOfCountry(countryId)
It accepts a valid CountryId
and returns all States as Array of JSON
type: array of json | IState
[
{
"id": 4119,
"name": "Midlands",
"country_id": "246"
}
]
getCitiesOfState(stateId)
It accepts a valid CityId
and returns all Cities as Array of JSON
type: array of json | ICity
[
{
"id": "3",
"name": "Port Blair",
"state_id": "1"
}
]
getAllCountries
It returns all Countries
type: array of json | ICountry
[
{
"id": "4",
"sortname": "AS",
"name": "American Samoa",
"phonecode": "1684"
}
]
Special Thanks
@baywet - For mentoring Javascript to Typescript Conversion
Change Logs
v1.0.0
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
- Development code - Javascript to Typescript conversion: #12
v0.1.0
- Fix: #2
- Fix: #3
- Added some missing states and cities for Canada and US