pub struct DtoMapper { /* private fields */ }Expand description
Main mapping service that resolves ConfigValue references in plugin DTOs.
Provides methods to resolve ConfigValue<T> fields into their actual values
by dispatching to the appropriate ValueResolver based on the variant.
§Default Resolvers
"EnvironmentVariable"→EnvironmentVariableResolver"Secret"→SecretResolver(currently returnsNotImplemented)
Implementations§
Source§impl DtoMapper
impl DtoMapper
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new mapper with the default resolvers (environment variable + secret).
If a global secret resolver has been registered via
register_secret_resolver,
it will be used automatically. Otherwise, the default SecretResolver
stub is used (which returns NotImplemented).
Sourcepub fn with_resolver(
self,
kind: &'static str,
resolver: Arc<dyn ValueResolver>,
) -> Self
pub fn with_resolver( self, kind: &'static str, resolver: Arc<dyn ValueResolver>, ) -> Self
Register a custom ValueResolver for a given reference kind.
This replaces any previously registered resolver for the same kind.
Sourcepub fn resolve_string(
&self,
value: &ConfigValue<String>,
) -> Result<String, ResolverError>
pub fn resolve_string( &self, value: &ConfigValue<String>, ) -> Result<String, ResolverError>
Resolve a ConfigValue<String> to its actual string value.
Sourcepub fn resolve_typed<T>(
&self,
value: &ConfigValue<T>,
) -> Result<T, ResolverError>
pub fn resolve_typed<T>( &self, value: &ConfigValue<T>, ) -> Result<T, ResolverError>
Resolve a ConfigValue<T> to its typed value.
For Static values, returns the value directly. For EnvironmentVariable and
Secret references, resolves to a string first, then parses to T via FromStr.
Sourcepub fn resolve_optional<T>(
&self,
value: &Option<ConfigValue<T>>,
) -> Result<Option<T>, ResolverError>
pub fn resolve_optional<T>( &self, value: &Option<ConfigValue<T>>, ) -> Result<Option<T>, ResolverError>
Resolve an optional ConfigValue<T>. Returns Ok(None) if the value is None.
Sourcepub fn resolve_optional_string(
&self,
value: &Option<ConfigValue<String>>,
) -> Result<Option<String>, ResolverError>
pub fn resolve_optional_string( &self, value: &Option<ConfigValue<String>>, ) -> Result<Option<String>, ResolverError>
Resolve an optional ConfigValue<String> to Option<String>.
Sourcepub fn resolve_string_vec(
&self,
values: &[ConfigValue<String>],
) -> Result<Vec<String>, ResolverError>
pub fn resolve_string_vec( &self, values: &[ConfigValue<String>], ) -> Result<Vec<String>, ResolverError>
Resolve a slice of ConfigValue<String> to Vec<String>.
Sourcepub fn map_with<TDto, TDomain>(
&self,
dto: &TDto,
mapper: &impl ConfigMapper<TDto, TDomain>,
) -> Result<TDomain, MappingError>
pub fn map_with<TDto, TDomain>( &self, dto: &TDto, mapper: &impl ConfigMapper<TDto, TDomain>, ) -> Result<TDomain, MappingError>
Map a DTO using a ConfigMapper implementation.