twapi_v2/fields/
place_fields.rs1use 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}