twapi_v2/fields/
place_fields.rs

1use serde::{Deserialize, Serialize};
2use std::collections::HashSet;
3
4#[derive(Serialize, Deserialize, Debug, Eq, Hash, PartialEq, Clone)]
5pub enum PlaceFields {
6    #[serde(rename = "contained_within")]
7    ContainedWithin,
8    #[serde(rename = "country")]
9    Country,
10    #[serde(rename = "country_code")]
11    CountryCode,
12    #[serde(rename = "full_name")]
13    FullName,
14    #[serde(rename = "geo")]
15    Geo,
16    #[serde(rename = "id")]
17    Id,
18    #[serde(rename = "name")]
19    Name,
20    #[serde(rename = "place_type")]
21    PlaceType,
22}
23
24impl PlaceFields {
25    pub fn all() -> HashSet<Self> {
26        let mut result = HashSet::new();
27        result.insert(Self::ContainedWithin);
28        result.insert(Self::Country);
29        result.insert(Self::CountryCode);
30        result.insert(Self::FullName);
31        result.insert(Self::Geo);
32        result.insert(Self::Id);
33        result.insert(Self::Name);
34        result.insert(Self::PlaceType);
35        result
36    }
37}
38
39impl std::fmt::Display for PlaceFields {
40    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
41        match self {
42            Self::ContainedWithin => write!(f, "contained_within"),
43            Self::Country => write!(f, "country"),
44            Self::CountryCode => write!(f, "country_code"),
45            Self::FullName => write!(f, "full_name"),
46            Self::Geo => write!(f, "geo"),
47            Self::Id => write!(f, "id"),
48            Self::Name => write!(f, "name"),
49            Self::PlaceType => write!(f, "place_type"),
50        }
51    }
52}
53
54impl Default for PlaceFields {
55    fn default() -> Self {
56        Self::ContainedWithin
57    }
58}