use std::collections::{BTreeMap, BTreeSet}; use serde::{Deserialize, Serialize}; use crate::pkg::{PkgKey, PkgKeyVersion}; use super::misc::Game; // manifest.json #[derive(Serialize, Deserialize)] pub struct PackageManifest { pub name: String, pub version_number: String, pub website_url: String, pub description: String, pub dependencies: BTreeSet, #[serde(default)] pub installers: Vec>, #[serde(default)] pub games: Option>, } pub type PackageList = BTreeMap; #[derive(Serialize, Deserialize, Clone)] pub struct PackageListEntry { pub version: String, pub games: Vec, }