openapi_nexus_config/config.rs
1//! Configuration structures for OpenAPI Nexus
2
3use serde::Deserialize;
4
5use crate::global_config::GlobalConfig;
6use crate::typescript_config::TypeScriptConfig;
7
8/// Configuration file structure
9#[derive(Debug, Clone, Deserialize, Default)]
10pub struct ConfigFile {
11 /// Global settings
12 #[serde(default)]
13 pub global: GlobalConfig,
14 /// TypeScript-specific settings
15 #[serde(default)]
16 pub typescript: TypeScriptConfig,
17}
18
19/// Fully resolved configuration with all defaults applied
20#[derive(Debug, Clone)]
21pub struct ResolvedConfig {
22 /// Global settings
23 pub global: GlobalConfig,
24 /// TypeScript settings (if language is TypeScript)
25 pub typescript: TypeScriptConfig,
26}