pub use crate::{
client::{auth::*, options::*},
coll::options::*,
collation::*,
concern::*,
db::options::*,
selection_criteria::*,
};
macro_rules! resolve_options {
($obj:expr, $opts:expr, [$( $field:ident ),+] ) => {
$(
if let Some(option) = $obj.$field() {
if !$opts
.as_ref()
.map(|opts| opts.$field.is_some())
.unwrap_or(false)
{
$opts.get_or_insert_with(Default::default).$field = Some(option.clone());
}
}
)+
};
}
#[cfg(test)]
macro_rules! merge_options {
($src:expr, $dst:expr, [$( $field:ident ),+] ) => {
$(
if let Some(option) = $src.$field {
if !$dst.$field.is_some() {
$dst.$field = Some(option.clone());
}
}
)+
};
}