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}