use std::marker::PhantomData;
use crate::options::ConfigReadOptions;
use super::config_field_name_builder::ConfigFieldNameBuilder;
#[derive(Debug, Clone, PartialEq)]
pub struct ConfigField<T> {
pub(crate) name: String,
pub(crate) aliases: Vec<String>,
pub(crate) default: Option<T>,
pub(crate) read_options: Option<ConfigReadOptions>,
}
impl<T> ConfigField<T> {
pub fn builder() -> ConfigFieldNameBuilder<T> {
ConfigFieldNameBuilder {
aliases: Vec::new(),
default: None,
read_options: None,
marker: PhantomData,
}
}
}