#country-code #iso #codes #name #countries #optimization #optimized

countries-tools

ISO 3166 country codes and names optimized, no-std, no-alloc and without unsafe

2 unstable releases

0.2.0 Aug 7, 2023
0.1.0 Aug 5, 2023

#363 in Internationalization (i18n)

Unlicense

33KB
1.5K SLoC

Countries list from ISO 3166-1

Countries list from ISO 3166-1

Usage

After cargo install countries-tools:

Examples

use countries_tools::{Country, CountryAlpha2};

assert_eq!(Country::from(CountryAlpha2::ES).short_name(), "Spain");
use countries_tools::{Country, CountryAlpha3};

assert_eq!(Country::from(CountryAlpha3::USA).short_name(), "United States of America");
use countries_tools::Country;

assert_eq!(Country::try_from(392).unwrap().short_name(), "Japan");

About this crate

As much methods as possible are const fn to allow compile-time computation and optimize runtime performance.

Also this crate is no_std compatible. The crate size is kept as small as possible and also the impact on the binary size.

Dependencies

~2.5–4MB
~73K SLoC