Skip to main content

landmap_camellia/
lib.rs

1//! Camellia - A utility library.
2//!
3//! This library provides optional modules for environment management and configuration.
4
5/// Environment management utilities
6///
7/// This module provides environment detection and management functionality.
8/// It includes utilities to determine the current application environment
9/// (development, production, etc.) and access environment-specific configurations.
10///
11/// # Available functions:
12/// - `app_env()`: Get the current application environment
13/// - `is_development()`: Check if running in development mode
14/// - `is_production()`: Check if running in production mode
15///
16/// # Example:
17/// ```rust
18/// use landmap_camellia::env::{app_env, is_development};
19///
20/// if is_development() {
21///     println!("Running in development mode");
22/// }
23/// ```
24#[cfg(feature = "env")]
25pub mod env {
26    pub use camellia_env::{app_env, is_development, is_production};
27}
28
29/// Configuration management utilities
30///
31/// This module provides comprehensive configuration management for applications.
32/// It includes functionality for loading, compiling, and initializing configuration
33/// settings from various sources including environment variables, files, and defaults.
34///
35/// # Available functions:
36/// - `compile_config()`: Compile configuration from various sources
37/// - `init_config()`: Initialize configuration with default settings
38/// - `UseConfigOptions`: Configuration options for customizing behavior
39///
40/// # Features:
41/// - Environment-aware configuration loading
42/// - Support for multiple configuration formats
43/// - Runtime configuration validation
44/// - Integration with environment detection
45///
46/// # Example:
47/// ```rust
48/// use landmap_camellia::config::{UseConfigOptionsBuilder};
49///
50/// let options = UseConfigOptionsBuilder::new()
51///     .schema("myapp")
52///     .build();
53/// ```
54#[cfg(feature = "config")]
55pub mod config {
56    pub use camellia_config_ext::{ConfigBuilderExt, UseConfigOptions, UseConfigOptionsBuilder};
57}