diff options
| author | 2026-01-21 10:47:56 +0800 | |
|---|---|---|
| committer | 2026-01-21 10:47:56 +0800 | |
| commit | 5cffcfe457d1b15d201647a5775268378c6018c6 (patch) | |
| tree | 562160c25373acc968c7c7abafaf018cd1a21261 /src-tauri/src/core/config.rs | |
| parent | b27f30bfbdd05a53caaf6fe63fd9354b3689623c (diff) | |
| download | DropOut-5cffcfe457d1b15d201647a5775268378c6018c6.tar.gz DropOut-5cffcfe457d1b15d201647a5775268378c6018c6.zip | |
feat: Add TypeScript support to data structures using ts-rs for type generation
Diffstat (limited to 'src-tauri/src/core/config.rs')
| -rw-r--r-- | src-tauri/src/core/config.rs | 19 |
1 files changed, 16 insertions, 3 deletions
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 |