1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//! A crate with helper utilities for managing shared configuration in Storm workspaces.
//!
//! This crate provides a set of tools for working with configuration files and
//! environment variables in a consistent way. It supports multiple file formats,
//! including JSON, YAML, TOML, and XML, and allows for easy merging and overriding
//! of configuration values from different sources.
//!
//! # Features
//! - The `WorkspaceConfig` struct representing the universal workspace configuration definition.
//! - Support for multiple configuration file formats (JSON, YAML, TOML, XML).
//! - Environment variable overrides.
//! - Hierarchical configuration with support for nested structures.
//! - Type-safe access to configuration values.
//! - Custom configuration sources via the `Source` trait.
//!
//! # Example
//! ```rust
//! use storm_config::{Config, File, FileFormat, FileSourceFile, Format};
//!
//! // Create a new configuration instance
//! let mut config = Config::default();
//!
//! // Merge a JSON configuration file
//! let file = File::new("config.json", FileFormat::Json);
//! config.merge(file).unwrap();
//!
//! // Access a configuration value
//! let db_host: String = config.get("database.host").unwrap();
//! println!("Database host: {}", db_host);
//! ```
//! For more information, please refer to the [documentation](https://docs.rs/storm-config).
// #![warn(missing_docs)]
// Re-export
pub use Case;
pub use crateAsyncConfigBuilder;
pub use crateConfigBuilder;
pub use crateConfig;
pub use crateEnvironment;
pub use crateConfigError;
pub use crateFileSource;
pub use crate;
pub use crateFormat;
pub use crateMap;
pub use crateAsyncSource;
pub use crateSource;
pub use crate;