Skip to content

An offline JavaScript library for getting Global Country , iso3166 Data

License

Notifications You must be signed in to change notification settings

Clifftech123/CountryData.js

Repository files navigation

CountryData.js NPM Downloads

CI Status Code Coverage Quality Gate Status
CI codecov Quality Gate Status

CountryData.js is a comprehensive Node.js package designed to provide easy access to detailed country information. It supports both JavaScript and TypeScript, making it versatile for various project needs. Whether you're building a web application, API, or any other project that requires country data, this package offers a simple and efficient solution.

Make sure to compile TypeScript files to JavaScript before running the code.

Features

  • Comprehensive Country Data: Access detailed information including country names, short codes, phone codes, regions, and flags.
  • JavaScript and TypeScript Support: Use the package in both JavaScript and TypeScript projects.
  • Easy Integration: Seamlessly integrate with any Node.js project using ES modules.
  • Asynchronous Operations: All methods return promises for efficient data handling.
  • Lightweight: Minimal dependencies to keep your project lean.

Installation

Install CountryData.js using npm:

npm install countrydata.js

Usage

JavaScript Version

import { CountryHelper } from "countrydata.js";

const countryHelper = new CountryHelper();

// Get all countries
(async () => {
  const allCountries = await countryHelper.getCountries();
  console.log(JSON.stringify(allCountries, null, 2));
})();

// Get country by short code
(async () => {
  const country = await countryHelper.getCountryByShortCode('US');
  console.log(country);
})();

TypeScript Version

import { CountryHelper } from 'countrydata.js';

(async () => {
  const countryHelper = new CountryHelper();
  const allCountries = await countryHelper.getCountries();
  console.log(JSON.stringify(allCountries, null, 2));
})();

// Get country by short code
(async () => {
  const countryHelper = new CountryHelper();
  const countryData = await countryHelper.getCountryByShortCode('US');
  console.log(countryData);
})();

You can check the sample code in the example folder. With this sample code, you can see how to use the package in your project both in JavaScript and TypeScript.

Make sure to check how the Sample has been implemented .

API

CountryHelper

The main class that provides access to country data. It works the same way in both JavaScript and TypeScript.

Methods

Method Description
getCountries(): Promise<Country[]> Fetches and returns a promise that resolves to an array of all countries.
getCountryByShortCode(shortCode: string): Promise<Country null>`
getRegionsByCountryShortCode(shortCode: string): Promise<Region[]> Fetches and returns a promise that resolves to an array of regions for the specified country short code (e.g., "US").
getCountryByPhoneCode(phoneCode: string): Promise<Country null>
getCountryPhoneCodeByShortCode(shortCode: string): Promise<string null>`

Contributing

We welcome contributions to CountryData.js! Please read our contributing guidelines for details on how to submit pull requests, report issues, or request features.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions about using CountryData.js, please open an issue on our GitHub repository or contact us directly through our support channels.