# continent-country-utils

A lightweight TypeScript utility for retrieving country and continent information based on ISO3 codes or country names. Useful for geo-based filtering, display logic, and data validation in frontend and backend projects.

---

## Features

- Get continent from ISO3 code or country name
- Get country details from ISO3 code
- List all countries in a given continent
- Structured and typed using TypeScript

## Installation

```bash
npm install continent-country-utils
```

## 🚀 Quick Start

### TypeScript

```ts
import {
  continentWithCountryList,
  findCountryContinent,
  findContinentByCountryIso3,
  getCountryDetails,
  listCountriesInContinent,
} from "continent-country-utils";
```

### JavaScript

```js
const {
  continentWithCountryList,
  findCountryContinent,
  findContinentByCountryIso3,
  getCountryDetails,
  listCountriesInContinent,
} = require("continent-country-utils");
```

## 🧩 API Reference

### continentWithCountryList

Returns the full list of continents with their respective countries.

```ts
console.log(continentWithCountryList);
```

### findCountryContinent(countryISO: string): string | null

Returns the continent for a given country ISO3 code (e.g., "BRA", "ARG").

```ts
findCountryContinent("BRA"); // => "South America"
```

### findContinentByCountryIso3(input: string): string | null

Returns the continent for a given ISO3 code or country name.

```ts
findContinentByCountryIso3("Argentina"); // => "South America"
findContinentByCountryIso3("VEN"); // => "South America"
```

### getCountryDetails(iso3: string): { country: string; continent: string } | null

Returns full details (country name and continent) for a given ISO3 code.

```ts
getCountryDetails("CHL"); // => { country: "Chile", continent: "South America" }
```

### listCountriesInContinent(continent: string): string[] | null

Returns an array of country names in the specified continent.

```ts
listCountriesInContinent("South America"); // => ["Argentina", "Brazil", "Bolivia", ...]
```

#### Parameters

- `actionCode` (string): The specific API action, e.g. "GetUserData"
- `params` (object): The request body parameters as key-value pairs

## 📝 License

MIT © 2025 Mayank Anand

## 📬 Author & Support

**Mayank Anand**  
Email: [anand.mayank59@gmail.com](mailto:anand.mayank59@gmail.com)

### Contributing

Pull requests are welcome! Feel free to improve data accuracy or add support for other continents.
