Module config

Source
Expand description

Configuration management module for SubX.

This module provides the complete configuration service system with dependency injection support and comprehensive type definitions.

§Key Components

§Validation System

The configuration system provides a layered validation architecture:

  • validation - Low-level validation functions for individual values
  • validator - High-level configuration section validators
  • field_validator - Key-value validation for configuration service

§Architecture

ConfigService
     ↓
field_validator (key-value validation)
     ↓
validation (primitive validation functions)

validator (section validation)
     ↓
validation (primitive validation functions)

§Examples

use subx_cli::config::{Config, ConfigService, ProductionConfigService};

// Create a production configuration service
let config_service = ProductionConfigService::new()?;

// Load configuration
let config = config_service.get_config()?;
println!("AI Provider: {}", config.ai.provider);

§Architecture

The configuration system uses dependency injection to provide testable and maintainable configuration management. All configuration access should go through the ConfigService trait.

Re-exports§

pub use builder::TestConfigBuilder;
pub use environment::EnvironmentProvider;
pub use environment::SystemEnvironmentProvider;
pub use environment::TestEnvironmentProvider;
pub use service::ConfigService;
pub use service::ProductionConfigService;
pub use test_service::TestConfigService;
pub use field_validator::validate_field;
pub use validator::validate_config;

Modules§

builder
Configuration builder for fluent test configuration creation.
environment
Environment variable provider module.
field_validator
Key-value validation for configuration service.
service
Configuration service system for dependency injection and test isolation.
test_macros
Test macros for convenient configuration service testing.
test_service
Test configuration service for isolated testing.
validation
Low-level validation functions for individual configuration values.
validator
High-level configuration validation for configuration sections.

Structs§

AIConfig
AI service configuration parameters.
Config
Full application configuration for SubX.
FormatsConfig
Subtitle format related configuration.
GeneralConfig
General configuration settings for the SubX CLI tool.
ParallelConfig
Parallel processing configuration.
SyncConfig
Audio synchronization configuration supporting VAD speech detection.
VadConfig
Local Voice Activity Detection configuration.

Enums§

OverflowStrategy
Strategy for handling overflow when all workers are busy.