diff options
Diffstat (limited to 'src-tauri/src/core/java.rs')
| -rw-r--r-- | src-tauri/src/core/java.rs | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/src-tauri/src/core/java.rs b/src-tauri/src/core/java.rs index 2e3c8a7..245c496 100644 --- a/src-tauri/src/core/java.rs +++ b/src-tauri/src/core/java.rs @@ -6,6 +6,7 @@ use std::process::Command; use tauri::AppHandle; use tauri::Emitter; use tauri::Manager; +use ts_rs::TS; use crate::core::downloader::{self, DownloadQueue, JavaDownloadProgress, PendingJavaDownload}; use crate::utils::zip; @@ -25,7 +26,11 @@ fn strip_unc_prefix(path: PathBuf) -> PathBuf { path } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/JavaInstallation.ts" +)] pub struct JavaInstallation { pub path: String, pub version: String, @@ -33,7 +38,12 @@ pub struct JavaInstallation { } /// Java image type: JRE or JDK -#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, TS)] +#[ts( + export, + rename_all = "lowercase", + export_to = "../packages/ui/src/types/generated/ImageType.ts" +)] #[serde(rename_all = "lowercase")] pub enum ImageType { Jre, @@ -56,7 +66,11 @@ impl std::fmt::Display for ImageType { } /// Java release information for UI display -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/JavaReleaseInfo.ts" +)] pub struct JavaReleaseInfo { pub major_version: u32, pub image_type: String, @@ -72,7 +86,11 @@ pub struct JavaReleaseInfo { } /// Java catalog containing all available versions -#[derive(Debug, Clone, Serialize, Deserialize, Default)] +#[derive(Debug, Clone, Serialize, Deserialize, Default, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/JavaCatalog.ts" +)] pub struct JavaCatalog { pub releases: Vec<JavaReleaseInfo>, pub available_major_versions: Vec<u32>, @@ -128,7 +146,11 @@ pub struct AvailableReleases { } /// Java download information from Adoptium -#[derive(Debug, Clone, Serialize)] +#[derive(Debug, Clone, Serialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/JavaDownloadInfo.ts" +)] pub struct JavaDownloadInfo { pub version: String, pub release_name: String, |