use std::marker::PhantomData;
use crate::options::ConfigReadOptions;
use super::config_field_builder::ConfigFieldBuilder;
pub struct ConfigFieldNameBuilder<T> {
pub(crate) aliases: Vec<String>,
pub(crate) default: Option<T>,
pub(crate) read_options: Option<ConfigReadOptions>,
pub(crate) marker: PhantomData<T>,
}
impl<T> ConfigFieldNameBuilder<T> {
pub fn name(self, name: &str) -> ConfigFieldBuilder<T> {
ConfigFieldBuilder {
name: name.to_string(),
aliases: self.aliases,
default: self.default,
read_options: self.read_options,
}
}
}