3 releases
0.1.2 | Dec 25, 2022 |
---|---|
0.1.1 | Dec 23, 2022 |
0.1.0 | Dec 13, 2022 |
#371 in Internationalization (i18n)
225KB
1K
SLoC
Package codes-un-m49
This package contains an implementation of the UN M49 specification.
UN M49 or the Standard Country or Area Codes for Statistical Use (Series M, No. 49) is a standard for area codes used by the United Nations for statistical purposes, developed and maintained by the United Nations Statistics Division. Each area code is a 3-digit number which can refer to a wide variety of geographical and political regions, like a continent and a country. Codes assigned in the system generally do not change when the country or area's name changes (unlike ISO 3166-1 alpha-2 or ISO 3166-1 alpha-3), but instead change when the territorial extent of the country or area changes significantly, although there have been exceptions to this rule.
For notes on the design of the API, see the repository README.
Example
use codes_un_m49 as M49;
let region = M49::UN_M69_REGION_258;
assert_eq!(region.code(), 258);
assert_eq!(region.name(), "French Polynesia");
assert_eq!(region.kind(), M49::RegionKind::Country);
assert_eq!(region.country_code(), Some("PF"));
// feature = "country_codes"
assert_eq!(parent.country_code(), Some(CountryCode::PF));
let parent = region.parent_code().unwrap();
assert_eq!(parent.code(), 61);
assert_eq!(parent.name(), "Polynesia");
let parent = parent.parent_code().unwrap();
assert_eq!(parent.code(), 9);
assert_eq!(parent.name(), "Oceania");
let parent = parent.parent_code().unwrap();
assert_eq!(parent.code(), 1);
assert_eq!(parent.name(), "World");
Features
By default only the serde
feature is enabled.
serde
- Enables serialization of theRegionClassificationCode
type.country_codes
; if enabled the value returned by theRegionClassificationCode::country_code
method will be an instance ofCountryCode
from thecodes-iso-3166
package, otherwise it returns'static str
.
Changes
Version 0.1.2
- Catering for new
build
module in codes-common
Version 0.1.1
- Implemented
Standardized
andFixedLengthCode
traits.
Version 0.1.0
- Initial version
TODO
TBD
Dependencies
~7–16MB
~211K SLoC