From 5cffcfe457d1b15d201647a5775268378c6018c6 Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Wed, 21 Jan 2026 10:47:56 +0800 Subject: feat: Add TypeScript support to data structures using ts-rs for type generation --- src-tauri/src/core/manifest.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src-tauri/src/core/manifest.rs') diff --git a/src-tauri/src/core/manifest.rs b/src-tauri/src/core/manifest.rs index e792071..5382259 100644 --- a/src-tauri/src/core/manifest.rs +++ b/src-tauri/src/core/manifest.rs @@ -3,20 +3,27 @@ use std::error::Error; use std::path::PathBuf; use crate::core::game_version::GameVersion; +use ts_rs::TS; -#[derive(Debug, Deserialize, Serialize)] +#[derive(Debug, Deserialize, Serialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/VersionManifest.ts" +)] pub struct VersionManifest { pub latest: Latest, pub versions: Vec, } -#[derive(Debug, Deserialize, Serialize)] +#[derive(Debug, Deserialize, Serialize, TS)] +#[ts(export, export_to = "../packages/ui/src/types/generated/Latest.ts")] pub struct Latest { pub release: String, pub snapshot: String, } -#[derive(Debug, Deserialize, Serialize)] +#[derive(Debug, Deserialize, Serialize, TS)] +#[ts(export, export_to = "../packages/ui/src/types/generated/Version.ts")] pub struct Version { pub id: String, #[serde(rename = "type")] -- cgit v1.2.3-70-g09d2