Skip to content

Commit 2a14392

Browse files
committed
fix: rename to MapUsing & add SkipAllSettings settings
1 parent ac6281f commit 2a14392

4 files changed

Lines changed: 22 additions & 9 deletions

File tree

src/Mapster.Tests/WhenUsingMapWithOverrideTypesSettings.cs renamed to src/Mapster.Tests/WhenMapUsingOverrideTypesSettings.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
namespace Mapster.Tests
77
{
88
[TestClass]
9-
public class WhenUsingMapWithOverrideTypesSettings
9+
public class WhenMapUsingOverrideTypesSettings
1010
{
1111
[TestMethod]
1212
public void OverrideDestinationTramsformIsWorked()
@@ -16,12 +16,12 @@ public void OverrideDestinationTramsformIsWorked()
1616

1717
config
1818
.NewConfig<CollectionPocoOverride, CollectionDtoOverride>()
19-
.MapWithTypeSettingsOverride(src => src.Children, dest => dest.Children,
19+
.MapUsing(src => src.Children, dest => dest.Children,
2020
cfg =>
2121
{
2222
cfg.SkipSettings(x => x.DestinationTransforms);
2323
})
24-
.MapWithTypeSettingsOverride(src => src.Array, dest => dest.Array,
24+
.MapUsing(src => src.Array, dest => dest.Array,
2525
cfg =>
2626
{
2727
cfg

src/Mapster/TypeAdapterSetter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -638,8 +638,8 @@ public TypeAdapterSetter<TDestination> IgnoredRemove(params Expression<Func<TDes
638638
}
639639

640640
#endregion
641-
642-
public TypeAdapterSetter<TSource, TDestination> MapWithTypeSettingsOverride<TDestinationMember, TSourceMember>(
641+
642+
public TypeAdapterSetter<TSource, TDestination> MapUsing<TDestinationMember, TSourceMember>(
643643
Expression<Func<TDestination, TDestinationMember>> member,
644644
Expression<Func<TSource, TSourceMember>> source,
645645
Action<OverrideTypesSetter<TSourceMember, TDestinationMember>>? configAction = null)

src/Mapster/TypeAdapterSetters/OverrideTypesSetter.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,17 @@ public OverrideTypesSetter(TypeAdapterSettings settings, TypeAdapterConfig confi
1515

1616
public class OverrideTypesSetter<TSource, TDestination> : OverrideTypesSetter
1717
{
18+
public OverrideTypesSetter<TSource, TDestination> SkipAllSettings(bool value)
19+
{
20+
_Settings.SkipAllSettings = value;
21+
return this;
22+
}
23+
1824
public OverrideTypesSetter<TSource, TDestination> SkipSettings(params Expression<Func<TypeAdapterSettings, object>>[] settings)
1925
{
2026
foreach (var member in settings)
2127
{
22-
_Settings.DropSettings.Add(member.GetMemberPath()!);
28+
_Settings.SkipSettings.Add(member.GetMemberPath()!);
2329
}
2430

2531
return this;

src/Mapster/TypeAdapterSettings/OverrideTypesSettings.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@ namespace Mapster
55
[AdaptWith(AdaptDirectives.DestinationAsRecord)]
66
public class OverrideTypesSettings : TypeAdapterSettings
77
{
8-
public List<string> DropSettings
8+
public List<string> SkipSettings
99
{
10-
get => Get(nameof(DropSettings), () => new List<string>());
10+
get => Get(nameof(SkipSettings), () => new List<string>());
11+
}
12+
13+
public bool? SkipAllSettings
14+
{
15+
get => Get(nameof(SkipAllSettings));
16+
set => Set(nameof(SkipAllSettings), value);
1117
}
1218

1319
public override void Apply(object other)
@@ -18,7 +24,8 @@ public override void Apply(object other)
1824

1925
public override void Apply(SettingStore other)
2026
{
21-
base.ApplyWithSkipSettings(other, DropSettings);
27+
if(!SkipAllSettings.GetValueOrDefault())
28+
base.ApplyWithSkipSettings(other, SkipSettings);
2229
}
2330
}
2431
}

0 commit comments

Comments
 (0)