use serde::Deserialize;
use super::{Extensions, Link, Waypoint};
#[derive(Debug, Clone, PartialEq, Default, Deserialize)]
pub struct TrackSegment {
#[serde(rename = "trkpt", default)]
pub points: Vec<Waypoint>,
#[serde(default)]
pub extensions: Option<Extensions>,
}
#[derive(Debug, Clone, PartialEq, Default, Deserialize)]
pub struct Track {
#[serde(default)]
pub name: Option<String>,
#[serde(default)]
pub cmt: Option<String>,
#[serde(default)]
pub desc: Option<String>,
#[serde(default)]
pub src: Option<String>,
#[serde(rename = "link", default)]
pub links: Vec<Link>,
#[serde(default)]
pub number: Option<u64>,
#[serde(rename = "type", default)]
pub track_type: Option<String>,
#[serde(default)]
pub extensions: Option<Extensions>,
#[serde(rename = "trkseg", default)]
pub segments: Vec<TrackSegment>,
}