rest_countries_data 1.0.2 copy "rest_countries_data: ^1.0.2" to clipboard
rest_countries_data: ^1.0.2 copied to clipboard

A Dart package that acts as a wrapper for the REST Countries API, providing easy access to countries data.

example/main.dart

import 'package:rest_countries_data/rest_countries_data.dart';

void main() async {
  await getCountriesByRegion();
  await getCountryByCode();
  await getCountriesByCurrency();
  await getAllCountries();
  await getCountriesByIndependentStatus();
}

void log(String message) {
  //ignore: avoid_print
  print(message);
}

Future<void> getCountriesByRegion() async {
  try {
    final List<CountryModel> countries =
        await RestCountries.getCountriesByRegion(region: 'Africa');
    log('\nCountries in Africa:');
    for (final CountryModel country in countries) {
      log('- ${country.name?.common}');
    }
  } catch (e) {
    log('$e');
  }
}

Future<void> getCountryByCode() async {
  try {
    final CountryModel country =
        await RestCountries.getCountryByCode(code: 'NG');
    log('\nCountry with code NG: ${country.name?.official}');
  } catch (e) {
    log('$e');
  }
}

Future<void> getCountriesByCurrency() async {
  try {
    final List<CountryModel> countries =
        await RestCountries.getCountriesByCurrency(currency: 'USD');
    log('\nCountries using USD:');
    for (final CountryModel country in countries) {
      log('- ${country.name?.common}');
    }
  } catch (e) {
    log('$e');
  }
}

Future<void> getAllCountries() async {
  try {
    final List<CountryModel> countries = await RestCountries.getAllCountries(
        fields: <CountryFields>[CountryFields.name]);
    log('\nAll countries (limited fields):');
    for (final CountryModel country in countries.take(5)) {
      log('- ${country.name?.common}');
    }
  } catch (e) {
    log('$e');
  }
}

Future<void> getCountriesByIndependentStatus() async {
  try {
    final List<CountryModel> countries =
        await RestCountries.getCountriesByIndependentStatus(independent: true);
    log('\nIndependent countries:');
    for (final CountryModel country in countries.take(5)) {
      log('- ${country.name?.common}');
    }
  } catch (e) {
    log('$e');
  }
}
29
likes
150
points
4
downloads

Publisher

unverified uploader

Weekly Downloads

A Dart package that acts as a wrapper for the REST Countries API, providing easy access to countries data.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

http

More

Packages that depend on rest_countries_data