use std::path::PathBuf;
#[cfg(feature = "file")]
use crate::file::FileLoader;
#[cfg(feature = "file")]
pub struct FileOptions {
pub paths: Vec<PathBuf>,
pub error_if_not_found: bool,
pub loader: Box<dyn FileLoader>,
}
#[cfg(feature = "file")]
impl std::fmt::Debug for FileOptions {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("FileOptions")
.field("paths", &self.paths)
.field("error_if_not_found", &self.error_if_not_found)
.field("loader", &"<dyn FileLoader>")
.finish()
}
}
#[cfg(feature = "env")]
#[derive(Debug, Clone)]
pub struct EnvironmentVariableOptions {
pub prefix: String,
pub separator: String,
}
#[cfg(feature = "cli")]
#[derive(Debug, Clone)]
pub struct CLIFlagOptions {
pub separator: String,
}