portablemc 5.0.3

Developer-oriented crate for launching Minecraft quickly and reliably with included support for Mojang versions and popular mod loaders. See portablemc-cli for the reference implementation.
Documentation
//! JSON schemas structures for serde deserialization.

use chrono::{DateTime, FixedOffset};

use crate::base;


#[derive(serde::Deserialize, serde::Serialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct MojangManifest {
    /// A map associated the latest versions.
    pub latest: MojangManifestLatest,
    /// List of all versions.
    pub versions: Vec<MojangManifestVersion>,
}

#[derive(serde::Deserialize, serde::Serialize, Debug, Clone)]
pub struct MojangManifestLatest {
    pub release: String,
    pub snapshot: String,
}

#[derive(serde::Deserialize, serde::Serialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct MojangManifestVersion {
    pub id: String,
    pub r#type: base::serde::VersionType,
    pub time: DateTime<FixedOffset>,
    pub release_time: DateTime<FixedOffset>,
    #[serde(flatten)]
    pub download: base::serde::Download,
    /// Unknown, used by official launcher.
    pub compliance_level: Option<u32>,
}