UNPKG

@andreasnicolaou/country-kit

Version:

A comprehensive package for working with country data. Includes ISO codes, names in multiple languages, capitals, currencies, continents and more.

96 lines (72 loc) 12.1 kB
# Country Kit - Comprehensive Country Data A comprehensive package for working with country data. Includes ISO codes, names in multiple languages, capitals, currencies, continents and more. ## Installation ```bash npm install @andreasnicolaou/country-kit ``` ## Usage ### Importing the Library ```typescript import { CountryKit } from '@andreasnicolaou/country-kit'; ``` ### Get all Countries ```typescript const countries = CountryKit.getAllCountries(); console.log(countries); // Logs all countries ``` ### Get countries by Continent ```typescript const countries = CountryKit.getCountriesByContinent('Asia'); console.log(countries); // Logs all countries with continent 'Asia' ``` ### Get countries by Currency ```typescript const countries = CountryKit.getCountriesByCurrency('USD'); console.log(countries); // Logs all countries with currency 'USD' ``` ### Get countries by Language ```typescript const countries = CountryKit.getCountriesByLanguage('Spanish'); console.log(countries); // Logs all countries with language 'Spanish' ``` ### Get country by Code ```typescript const country = CountryKit.getCountryByCode('us'); console.log(country); // Logs US country data ``` ## Country Object Structure | Property | Type | Description | | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | | `code` | `string \| null` | The two-letter ISO 3166-1 country code. | | `code3` | `string \| null` | The three-letter ISO 3166-1 country code. | | `numeric_code` | `string \| null` | The numeric ISO 3166-1 country code. | | `name` | `string \| null` | The common name of the country. | | `official_name` | `string \| null` | The official name of the country. | | `native_name` | `string \| null` | The native name of the country. | | `translations` | `Record<'ara' \| 'bre' \| 'ces'\| 'chn'\| 'cym'\| 'deu'\| 'esp'\| 'est'\| 'fin'\| 'fra'\| 'grc'\| 'hrv'\| 'hun'\| 'idn'\| 'ind'\| 'ita'\| 'jpn'\| 'kor'\| 'nld'\| 'per'\| 'pol'\| 'por'\| 'prt'\| 'rus'\| 'sau'\| 'slk'\| 'spa'\| 'srp'\| 'swe'\| 'tha'\| 'tur'\| 'urd'\| 'usa'\| 'vnm'\| 'zho' , string>` | A record of country names translated into various languages. | | `capital` | `string \| null` | The capital city of the country. | | `continent` | `string \| null` | The continent where the country is located. | | `subregion` | `string \| null` | The subregion where the country is located. | | `tld` | `string[]` | An array of top-level domains associated with the country. | | `flag` | `string \| null` | The URL of the country’s flag. | | `emoji` | `string \| null` | The emoji representation of the country's flag. | | `currency` | `{ code: string; name: string; symbol: string }[]` | An array of currency objects with code, name, and symbol. | | `languages` | `string[]` | An array of official languages spoken in the country. | | `timezones` | `string[]` | An array of timezones used in the country. | | `phone_code` | `string \| null` | The international dialing code of the country. | | `latlng` | `number[] \| null` | The latitude and longitude coordinates of the country. | | `population` | `number \| null` | The estimated population of the country. | | `area` | `number \| null` | The total land area of the country in square kilometers. | | `gdp` | `number \| null` | The Gross Domestic Product of the country in USD. | | `drives_on` | `'left' \| 'right' \| null` | The side of the road vehicles drive on in the country. | | `demonym` | `string \| null` | The demonym used for people from the country. | | `world_share` | `string \| null` | The percentage of the world’s population living in this country. | ## Data Sources Country data have been generated using the following sources: - **[REST Countries API](https://restcountries.com/v3.1/all)** - Providing detailed country information, including ISO codes, names, capitals, currencies, languages, and geographic data. - **[World Bank API](https://api.worldbank.org/v2/)** - Providing population, GDP, and area statistics with the following indicators: - `SP.POP.TOTL` - Total population - `NY.GDP.MKTP.CD` - GDP (current US$) - `AG.SRF.TOTL.K2` - Surface area (sq. km) ## Contributing Contributions are welcome! If you encounter issues or have ideas to enhance the library, feel free to submit an issue or pull request.