countries-capitals
Version:
A simple package to get the capital of the countries
159 lines (118 loc) • 4.84 kB
Markdown
📦 🇧🇷 A simple package to get the capital of the countries https://www.npmjs.com/package/countries-capitals





[](https://lgtm.com/projects/g/chgasparoto/countries-capitals/context:javascript)
[](https://snyk.io//test/github/chgasparoto/countries-capitals?targetFile=package.json)
[](https://github.com/semantic-release/semantic-release?style=flat-square)
[](http://commitizen.github.io/cz-cli?style=flat-square)

```sh
node -v
node: v10
```
```sh
npm install --save countries-capital
```
```sh
yarn add countries-capital
```
```js
const Countries = require('countries-capital')
const countries = new Countries()
// filter by name
const brazil = countries.byName('brazil')
/**
* Get all country data:
[{
"country": "Brazil",
"city": "Brasília",
"independence": "1822",
"location": "South America"
}]
*/
brazil.toJson()
// get capital
brazil.capital // Brasília
// resetting the filter
countries.reset()
// filter by location and independence year
countries.byLocation('europe').byIndependence(1900, '>=')
/**
* Get all countries data:
[{
"country": "Bulgaria",
"city": "Sofia",
"independence": "1908",
"location": "Eastern Europe"
},
{...},
{...}
]
*/
countries.toJson()
// When country has more than one country after applying the filter it returns a random capital every time it calls .capital
countries.capital // Sofia
countries.capital // ...
countries.capital // ...
countries.capital // ...
```
```js
const Countries = require('countries-capital')
const countries = new Countries()
// lists all the countries data disregading any filter
countries.list()
// reset any applied filters
countries.reset()
// filter by country name
// passing country full name: single result
countries.byName('brazil')
countries.toJson() // all country data as an array of objects
countries.capital // only country capital as string
// passing country partial name: multiple results
countries.reset().byName('ind')
// filter by capital
countries.byCapital('amsterdam') // single result
countries.byCapital('ber') // multiple result
countries.byCapital(null) // multiple result. All countries without a Capital City
// filter by location
countries.byLocation('europe')
countries.byLocation('South America')
countries.byLocation(null)
// filter by independence date
countries.byIndependence(1822) // implicit = (equal sign) operator
countries.byIndependence(500, '<') // lesser than
countries.byIndependence(2000, '>=') // greater or equal than
countries.byIndependence(null) // countries without independence year
// get the longest capital name of the list
countries.longest().capital
// return all filtered data as array of objects
countries.toJson()
// return capital as string
// if countries.length === 0, throw an error
// if countries.length === 1, return specific capital
// if countries.length > 1, return random capital
countries.capital
```
To run the tests go to the terminal and enter `npm run test`
If you want to collaborate, please feel free. I appreciate any help :)
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/chgasparoto/countries-capitals/tags).
* **Cleber Gasparoto** - [Profile](https://github.com/chgasparoto)
See also the list of [contributors](https://github.com/chgasparoto/countries-capitals/contributors) who participated in this project.
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.