twitter-v2 0.1.8

Twitter API v2
Documentation
#[cfg(feature = "arbitrary_precision")]
use serde_json::Number;

use serde::{Deserialize, Serialize};
use std::collections::HashMap;

#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Copy)]
pub enum GeoCoordinatesKind {
    Point,
}

#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
#[cfg_attr(feature = "arbitrary_precision", derive(Eq))]
pub struct GeoCoordinates {
    #[serde(rename = "type")]
    pub kind: GeoCoordinatesKind,
    #[cfg(feature = "arbitrary_precision")]
    #[serde(skip_serializing_if = "Option::is_none")]
    pub coordinates: Option<(Number, Number)>,
    #[cfg(not(feature = "arbitrary_precision"))]
    #[serde(skip_serializing_if = "Option::is_none")]
    pub coordinates: Option<(f64, f64)>,
}

#[derive(Serialize, Deserialize, Debug, Clone, Eq, PartialEq, Copy)]
pub enum GeoFeatureKind {
    Feature,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[cfg_attr(feature = "arbitrary_precision", derive(Eq))]
pub struct GeoFeature {
    #[serde(rename = "type")]
    pub kind: GeoFeatureKind,
    #[cfg(feature = "arbitrary_precision")]
    pub bbox: [Number; 4],
    #[cfg(not(feature = "arbitrary_precision"))]
    pub bbox: [f64; 4],
    #[serde(skip_serializing_if = "Option::is_none")]
    pub geometry: Option<GeoCoordinates>,
    pub properties: HashMap<String, serde_json::Value>,
}