[−][src]Crate celes
Rust implementation of Countries as specified by https://www.iban.com/country-codes using ISO 3166-1 and https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
If there are any countries missing then please let me know or submit a PR
The main struct is Country
which provides the following properties
code
- The three digit code for the country
value
- The code as an integer
alpha2
- The alpha2 letter set for the country
alpha3
- The alpha3 letter set for the country
long_name
- The official state name for the country
aliases
- Other names by which the country is known. For example,
The Russian Federation is also called Russia or The United Kingdom of Great Britain
and Northern Ireland is also called England, Great Britain,
Northern Ireland, Scotland, and United Kingdom.
Each country can be instantiated by using a function with the country name in snake case
Usage
use celes::Country; let gb = Country::the_united_kingdom_of_great_britain_and_northern_ireland(); println!("{}", gb); let usa = Country::the_united_states_of_america(); println!("{}", usa);
Additionally, each country can be created from a string or its numeric code.
Country
provides multiple from methods to instantiate it from a string:
from_code
- createCountry
from three digit codefrom_alpha2
- createCountry
from two letter codefrom_alpha3
- createCountry
from three letter codefrom_alias
- createCountry
from a common alias. This only works for some countries as not all countries have aliasesfrom_name
- createCountry
from the full state name no space or underscores
Country
implements the std::str::FromStr trait that accepts any valid argument to the previously mentioned functions
such as:
- The country aliases like UnitedKingdom, GreatBritain, Russia, America
- The full country name
- The alpha2 code
- The alpha3 code
If you are uncertain which function to use, just use Country::from_str
as it accepts
any of the valid string values. Country::from_str
is case-insensitive
From String Example
use celes::Country; use std::str::FromStr; // All three of these are equivalent let usa_1 = Country::from_str("USA").unwrap(); let usa_2 = Country::from_str("US").unwrap(); let usa_3 = Country::from_str("America").unwrap(); // All three of these are equivalent let gb_1 = Country::from_str("England").unwrap(); let gb_2 = Country::from_str("gb").unwrap(); let gb_3 = Country::from_str("Scotland").unwrap();
Structs
Country | Represents a country according to ISO 3166 |