config/prelude/chained.rs
1use crate::{chained, Builder, Configuration};
2use std::sync::Arc;
3
4/// Defines chained configuration extension methods for a [configuration builder](Builder).
5pub trait ChainedExt: Sized {
6 /// Adds an existing configuration.
7 ///
8 /// # Arguments
9 ///
10 /// * `configuration` - The existing [configuration](Configuration) to add
11 fn add_configuration<T: Into<Arc<Configuration>>>(self, configuration: T) -> Self;
12}
13
14impl ChainedExt for Builder {
15 fn add_configuration<T: Into<Arc<Configuration>>>(mut self, configuration: T) -> Self {
16 self.add(chained::Provider::new(configuration.into()));
17 self
18 }
19}