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/config.rs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'src-tauri/src/core/config.rs') diff --git a/src-tauri/src/core/config.rs b/src-tauri/src/core/config.rs index e4b9381..b31e0ce 100644 --- a/src-tauri/src/core/config.rs +++ b/src-tauri/src/core/config.rs @@ -3,8 +3,13 @@ use std::fs; use std::path::PathBuf; use std::sync::Mutex; use tauri::{AppHandle, Manager}; +use ts_rs::TS; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/AssistantConfig.ts" +)] #[serde(default)] pub struct AssistantConfig { pub enabled: bool, @@ -43,7 +48,11 @@ impl Default for AssistantConfig { } /// Feature-gated arguments configuration -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/FeatureFlags.ts" +)] #[serde(default)] pub struct FeatureFlags { /// Demo user: enables demo-related arguments when rules require it @@ -70,7 +79,11 @@ impl Default for FeatureFlags { } } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, TS)] +#[ts( + export, + export_to = "../packages/ui/src/types/generated/LauncherConfig.ts" +)] #[serde(default)] pub struct LauncherConfig { pub min_memory: u32, // in MB -- cgit v1.2.3-70-g09d2