Skip to main content

config/
source.rs

1use crate::{ConfigurationBuilder, ConfigurationProvider};
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}