config/
source.rs

1use crate::{ConfigurationProvider, ConfigurationBuilder};
2
3/// Represents a source of configuration key/value pairs for an application.
4pub trait ConfigurationSource {
5    /// Builds the [`ConfigurationProvider`](crate::ConfigurationProvider) for this source.
6    /// 
7    /// # Arguments
8    /// 
9    /// * `builder` - The [`ConfigurationBuilder`](crate::ConfigurationBuilder) used to build the provider
10    fn build(&self, builder: &dyn ConfigurationBuilder) -> Box<dyn ConfigurationProvider>;
11}