invariance
A Rust crate providing type-safe, validated configuration for preventing runtime crashes caused by invalid config data.
Overview
invariance helps you define configuration structs with strong typing and validation logic. It ensures that configuration loaded from files (currently TOML) is always validated before use, preventing null pointer errors, invalid states, and unexpected runtime failures.
The crate provides:
- A
Configtrait with a default implementation for parsing configuration from strings. - A
Validatetrait for implementing custom validation logic. - Clear and descriptive error handling via
ConfigError. - Basic schema generation by printing default values as examples.
Getting Started
Add invariance to your Cargo.toml in your project.
Features & Roadmap
- Strongly typed config parsing from TOML strings
- Custom validation with clear error reporting
- Trait-based design with minimal boilerplate
- Support for additional formats: JSON, YAML
- CLI tools for config validation
- Macro-driven validation DSL
- Schema generation and introspection