diff options
| author | 2026-01-30 15:05:06 +0800 | |
|---|---|---|
| committer | 2026-01-30 15:05:06 +0800 | |
| commit | 2d830365f1424b8e4137dd3fbe239ba3d8b458a9 (patch) | |
| tree | f386566d6accb8e9eaaa8056c662198f620d469d | |
| parent | 6c0e07d32a29bab3e01535feb9b75ba8bc6b171d (diff) | |
| download | DropOut-2d830365f1424b8e4137dd3fbe239ba3d8b458a9.tar.gz DropOut-2d830365f1424b8e4137dd3fbe239ba3d8b458a9.zip | |
refactor(java): enhance Adoptium structs with TypeScript support
| -rw-r--r-- | src-tauri/src/core/java/providers/adoptium.rs | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/src-tauri/src/core/java/providers/adoptium.rs b/src-tauri/src/core/java/providers/adoptium.rs index a73a0f6..20fb2d5 100644 --- a/src-tauri/src/core/java/providers/adoptium.rs +++ b/src-tauri/src/core/java/providers/adoptium.rs @@ -4,18 +4,27 @@ use crate::core::java::save_catalog_cache; use crate::core::java::{ImageType, JavaCatalog, JavaDownloadInfo, JavaReleaseInfo}; use serde::Deserialize; use tauri::AppHandle; +use ts_rs::TS; const ADOPTIUM_API_BASE: &str = "https://api.adoptium.net/v3"; -#[derive(Debug, Clone, Deserialize)] +#[derive(Debug, Clone, Deserialize, TS)] +#[ts( + export, + export_to = "../../packages/ui-new/src/types/bindings/java/providers/adoptium.ts" +)] pub struct AdoptiumAsset { pub binary: AdoptiumBinary, pub release_name: String, pub version: AdoptiumVersionData, } -#[derive(Debug, Clone, Deserialize)] +#[derive(Debug, Clone, Deserialize, TS)] #[allow(dead_code)] +#[ts( + export, + export_to = "../../packages/ui-new/src/types/bindings/java/providers/adoptium.ts" +)] pub struct AdoptiumBinary { pub os: String, pub architecture: String, @@ -25,7 +34,11 @@ pub struct AdoptiumBinary { pub updated_at: Option<String>, } -#[derive(Debug, Clone, Deserialize)] +#[derive(Debug, Clone, Deserialize, TS)] +#[ts( + export, + export_to = "../../packages/ui-new/src/types/bindings/java/providers/adoptium.ts" +)] pub struct AdoptiumPackage { pub name: String, pub link: String, @@ -33,8 +46,12 @@ pub struct AdoptiumPackage { pub checksum: Option<String>, } -#[derive(Debug, Clone, Deserialize)] +#[derive(Debug, Clone, Deserialize, TS)] #[allow(dead_code)] +#[ts( + export, + export_to = "../../packages/ui-new/src/types/bindings/java/providers/adoptium.ts" +)] pub struct AdoptiumVersionData { pub major: u32, pub minor: u32, @@ -43,8 +60,12 @@ pub struct AdoptiumVersionData { pub openjdk_version: String, } -#[derive(Debug, Clone, Deserialize)] +#[derive(Debug, Clone, Deserialize, TS)] #[allow(dead_code)] +#[ts( + export, + export_to = "../../packages/ui-new/src/types/bindings/java/providers/adoptium.ts" +)] pub struct AvailableReleases { pub available_releases: Vec<u32>, pub available_lts_releases: Vec<u32>, |