Skip to content

Commit

Permalink
fix: refactor configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
TimothyMakkison committed May 1, 2023
1 parent 689208d commit e302577
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
5 changes: 5 additions & 0 deletions src/Riok.Mapperly/Descriptors/Configuration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,10 @@ private void InitDefaultConfigurations()
typeof(MapEnumAttribute),
new MapEnumAttribute(Mapper.EnumMappingStrategy) { IgnoreCase = Mapper.EnumMappingIgnoreCase }
);

_defaultConfigurations.Add(
typeof(MapperIgnoreObsoleteMembersAttribute),
new MapperIgnoreObsoleteMembersAttribute(Mapper.IgnoreObsoleteMembersStrategy)
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,9 @@ private HashSet<string> GetIgnoredTargetMembers()

private IEnumerable<string> GetIgnoredObsoleteTargetMembers()
{
var obosoleteAttribute = BuilderContext.ListConfiguration<MapperIgnoreObsoleteMembersAttribute>().FirstOrDefault();
var obsoleteAttribute = BuilderContext.GetConfigurationOrDefault<MapperIgnoreObsoleteMembersAttribute>();

if (
obosoleteAttribute is { IgnoreObsoleteStrategy: IgnoreObsoleteStrategy.Target or IgnoreObsoleteStrategy.Both }
|| BuilderContext.MapperConfiguration.IgnoreObsoleteStrategy is IgnoreObsoleteStrategy.Target or IgnoreObsoleteStrategy.Both
)
if (obsoleteAttribute.IgnoreObsoleteStrategy.HasFlag(IgnoreObsoleteMembersStrategy.Target))
{
return Mapping.SourceType
.GetAccessibleMappableMembers()
Expand All @@ -106,12 +103,9 @@ private HashSet<string> GetIgnoredSourceMembers()

private IEnumerable<string> GetIgnoredObsoleteSourceMembers()
{
var obosoleteAttribute = BuilderContext.ListConfiguration<MapperIgnoreObsoleteMembersAttribute>().FirstOrDefault();
var obsoleteAttribute = BuilderContext.GetConfigurationOrDefault<MapperIgnoreObsoleteMembersAttribute>();

if (
obosoleteAttribute is { IgnoreObsoleteStrategy: IgnoreObsoleteStrategy.Source or IgnoreObsoleteStrategy.Both }
|| BuilderContext.MapperConfiguration.IgnoreObsoleteStrategy is IgnoreObsoleteStrategy.Source or IgnoreObsoleteStrategy.Both
)
if (obsoleteAttribute.IgnoreObsoleteStrategy.HasFlag(IgnoreObsoleteMembersStrategy.Source))
{
return Mapping.SourceType
.GetAccessibleMappableMembers()
Expand Down

0 comments on commit e302577

Please sign in to comment.