1use chrono_tz::Tz;
2use country_code::{iso3166_1::alpha_3::CountryCode as CountryCodeIso3, CountryCode};
3use serde::Deserialize;
4
5#[derive(Deserialize, Debug, Clone)]
7pub struct Record {
8 pub country_name: Box<str>,
9 pub iso2: CountryCode,
10 pub iso3: CountryCodeIso3,
11 pub top_level_domain: Box<str>,
12 pub fips: Box<str>,
13 pub iso_mumeric: Box<str>,
14 pub geo_name_id: Option<u32>,
15 pub e164: u32,
16 pub phone_code: Box<str>,
17 pub continent: Box<str>,
18 pub capital: Box<str>,
19 #[serde(deserialize_with = "serde_field_with::from_str")]
20 pub time_zone_in_capital: Tz,
21 pub currency: Box<str>,
22 pub language_codes: Box<str>,
23 pub languages: Box<str>,
24 pub area: u32,
25 pub internet_hosts: Option<u32>,
26 pub internet_users: Option<u32>,
27 pub phones_mobile: Option<u32>,
28 pub phones_landline: Option<u32>,
29 pub gdp: Option<u64>,
30}