31 lines
734 B
Rust
31 lines
734 B
Rust
pub mod builder;
|
|
pub mod types;
|
|
pub mod validation;
|
|
|
|
pub use builder::*;
|
|
pub use types::*;
|
|
pub use validation::*;
|
|
|
|
/// Configuration errors
|
|
#[derive(Debug, thiserror::Error)]
|
|
pub enum ConfigError {
|
|
#[error("Validation failed: {reason}")]
|
|
ValidationFailed { reason: String },
|
|
|
|
#[error("Invalid value for field '{field}': {value} - {reason}")]
|
|
InvalidValue {
|
|
field: String,
|
|
value: String,
|
|
reason: String,
|
|
},
|
|
|
|
#[error("Incompatible configuration: {reason}")]
|
|
IncompatibleConfig { reason: String },
|
|
|
|
#[error("Missing required field: {field}")]
|
|
MissingRequired { field: String },
|
|
}
|
|
|
|
/// Result type for configuration operations
|
|
pub type ConfigResult<T> = Result<T, ConfigError>;
|