Skip to content

Commit 379de2e

Browse files
committed
Use custom method for checking flags enum "SerializationFrameworks"
1 parent 0511818 commit 379de2e

9 files changed

Lines changed: 32 additions & 12 deletions

File tree

src/Thinktecture.Runtime.Extensions.Json/Text/Json/Serialization/ThinktectureJsonConverterFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializer
174174
{
175175
return MetadataLookup.FindMetadataForConversion(
176176
typeToConvert,
177-
f => f.UseForSerialization.HasFlag(SerializationFrameworks.SystemTextJson),
177+
f => f.UseForSerialization.HasSerializationFramework(SerializationFrameworks.SystemTextJson),
178178
_ => true);
179179
}
180180
}

src/Thinktecture.Runtime.Extensions.MessagePack/ThinktectureMessageFormatterResolver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ static Cache()
7373
{
7474
var metadata = MetadataLookup.FindMetadataForConversion(
7575
typeof(T),
76-
f => f.UseForSerialization.HasFlag(SerializationFrameworks.MessagePack),
76+
f => f.UseForSerialization.HasSerializationFramework(SerializationFrameworks.MessagePack),
7777
_ => true);
7878

7979
if (metadata is null)

src/Thinktecture.Runtime.Extensions.Newtonsoft.Json/Json/ThinktectureNewtonsoftJsonConverterFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ private static JsonConverter CreateConverter(Type typeToConvert)
107107
{
108108
return MetadataLookup.FindMetadataForConversion(
109109
objectType,
110-
f => f.UseForSerialization.HasFlag(SerializationFrameworks.NewtonsoftJson),
110+
f => f.UseForSerialization.HasSerializationFramework(SerializationFrameworks.NewtonsoftJson),
111111
_ => true);
112112
}
113113
}

src/Thinktecture.Runtime.Extensions.SourceGenerator/CodeAnalysis/ValueObjects/JsonValueObjectCodeGeneratorFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ private JsonValueObjectCodeGeneratorFactory()
1616
public bool MustGenerateCode(ComplexSerializerGeneratorState state)
1717
{
1818
return !state.AttributeInfo.HasJsonConverterAttribute
19-
&& state.SerializationFrameworks.HasFlag(SerializationFrameworks.SystemTextJson)
20-
&& !state.AttributeInfo.ObjectFactories.Any(f => f.UseForSerialization.Has(SerializationFrameworks.SystemTextJson));
19+
&& state.SerializationFrameworks.HasSerializationFramework(SerializationFrameworks.SystemTextJson)
20+
&& !state.AttributeInfo.ObjectFactories.Any(f => f.UseForSerialization.HasSerializationFramework(SerializationFrameworks.SystemTextJson));
2121
}
2222

2323
public CodeGeneratorBase Create(ComplexSerializerGeneratorState state, StringBuilder stringBuilder)

src/Thinktecture.Runtime.Extensions.SourceGenerator/CodeAnalysis/ValueObjects/MessagePackValueObjectCodeGeneratorFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ private MessagePackValueObjectCodeGeneratorFactory()
1616
public bool MustGenerateCode(ComplexSerializerGeneratorState state)
1717
{
1818
return !state.AttributeInfo.HasMessagePackFormatterAttribute
19-
&& state.SerializationFrameworks.HasFlag(SerializationFrameworks.MessagePack)
20-
&& !state.AttributeInfo.ObjectFactories.Any(f => f.UseForSerialization.Has(SerializationFrameworks.MessagePack));
19+
&& state.SerializationFrameworks.HasSerializationFramework(SerializationFrameworks.MessagePack)
20+
&& !state.AttributeInfo.ObjectFactories.Any(f => f.UseForSerialization.HasSerializationFramework(SerializationFrameworks.MessagePack));
2121
}
2222

2323
public CodeGeneratorBase Create(ComplexSerializerGeneratorState state, StringBuilder stringBuilder)

src/Thinktecture.Runtime.Extensions.SourceGenerator/CodeAnalysis/ValueObjects/NewtonsoftJsonValueObjectCodeGeneratorFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ private NewtonsoftJsonValueObjectCodeGeneratorFactory()
1616
public bool MustGenerateCode(ComplexSerializerGeneratorState state)
1717
{
1818
return !state.AttributeInfo.HasNewtonsoftJsonConverterAttribute
19-
&& state.SerializationFrameworks.HasFlag(SerializationFrameworks.NewtonsoftJson)
20-
&& !state.AttributeInfo.ObjectFactories.Any(f => f.UseForSerialization.Has(SerializationFrameworks.NewtonsoftJson));
19+
&& state.SerializationFrameworks.HasSerializationFramework(SerializationFrameworks.NewtonsoftJson)
20+
&& !state.AttributeInfo.ObjectFactories.Any(f => f.UseForSerialization.HasSerializationFramework(SerializationFrameworks.NewtonsoftJson));
2121
}
2222

2323
public CodeGeneratorBase Create(ComplexSerializerGeneratorState state, StringBuilder stringBuilder)

src/Thinktecture.Runtime.Extensions.SourceGenerator/Extensions/SerializationFrameworksExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ namespace Thinktecture;
44

55
public static class SerializationFrameworksExtensions
66
{
7-
public static bool Has(this SerializationFrameworks value, SerializationFrameworks flag)
7+
public static bool HasSerializationFramework(this SerializationFrameworks value, SerializationFrameworks serializationFrameworkToCheckFor)
88
{
9-
return (value & flag) == flag;
9+
return (value & serializationFrameworkToCheckFor) == serializationFrameworkToCheckFor;
1010
}
1111
}

src/Thinktecture.Runtime.Extensions.Swashbuckle/Swashbuckle/Internal/ThinktectureSchemaFilter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ internal static Type GetSerializationType(Type type)
8181
{
8282
var metadata = MetadataLookup.FindMetadataForConversion(
8383
type,
84-
f => f.UseForSerialization.HasFlag(SerializationFrameworks.Json),
84+
f => f.UseForSerialization.HasSerializationFramework(SerializationFrameworks.Json),
8585
_ => false);
8686

8787
return metadata is null ? type : type.NormalizeStructType(metadata.Value.KeyType);
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
namespace Thinktecture;
2+
3+
/// <summary>
4+
/// Provides extension methods for the <see cref="SerializationFrameworks"/> enum.
5+
/// </summary>
6+
public static class SerializationFrameworksExtensions
7+
{
8+
/// <summary>
9+
/// Checks whether the specified <see cref="SerializationFrameworks"/> value includes a given serialization framework.
10+
/// </summary>
11+
/// <param name="value">The <see cref="SerializationFrameworks"/> value to be checked.</param>
12+
/// <param name="serializationFrameworkToCheckFor">The serialization framework to check for in the value.</param>
13+
/// <returns>True if the specified framework is included in the provided value; otherwise, false.</returns>
14+
public static bool HasSerializationFramework(
15+
this SerializationFrameworks value,
16+
SerializationFrameworks serializationFrameworkToCheckFor)
17+
{
18+
return (value & serializationFrameworkToCheckFor) == serializationFrameworkToCheckFor;
19+
}
20+
}

0 commit comments

Comments
 (0)