Skip to content

Commit cae38ff

Browse files
committed
refactor
1 parent f14e65a commit cae38ff

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/TableStorage.Abstractions.TableEntityConverters/EntityConvert.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,14 @@ public static class EntityConvert
1212
{
1313
private static JsonSerializerSettings _defaultJsonSerializerSettings = new JsonSerializerSettings();
1414

15-
public static JsonSerializerSettings DefaultJsonSerializerSettings {
16-
set => _defaultJsonSerializerSettings = value ?? new JsonSerializerSettings();
15+
/// <summary>
16+
/// Json fields will use be serialized/deserialized with these provided settings when jsonSerializerSettings are
17+
/// not explicitly passed into ToTableEntity/FromTableEntity
18+
/// </summary>
19+
/// <param name="jsonSerializerSettings">Note: null resets to default</param>
20+
public static void SetDefaultJsonSerializerSettings (JsonSerializerSettings jsonSerializerSettings = default)
21+
{
22+
_defaultJsonSerializerSettings = jsonSerializerSettings ?? new JsonSerializerSettings();
1723
}
1824

1925
public static DynamicTableEntity ToTableEntity<T>(this T o, string partitionKey, string rowKey,

src/TableStorage.Abstractions.UnitTests/EntityConvertTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class EntityConvertTests
1010
{
1111
public EntityConvertTests()
1212
{
13-
EntityConvert.DefaultJsonSerializerSettings = null;
13+
EntityConvert.SetDefaultJsonSerializerSettings();
1414
}
1515

1616
public class GuidKeyTest
@@ -298,9 +298,9 @@ public void convert_to_entity_table()
298298
[Fact]
299299
public void convert_to_entity_table_custom_json_settings_as_a_global_setting()
300300
{
301-
EntityConvert.DefaultJsonSerializerSettings = new JsonSerializerSettings {
301+
EntityConvert.SetDefaultJsonSerializerSettings(new JsonSerializerSettings {
302302
NullValueHandling = NullValueHandling.Ignore,
303-
};
303+
});
304304

305305
var emp = new Employee
306306
{
@@ -352,9 +352,9 @@ public void convert_to_entity_table_custom_json_settings_as_a_local_setting()
352352
[Fact]
353353
public void convert_from_entity_using_custom_json_settings_as_a_global_setting()
354354
{
355-
EntityConvert.DefaultJsonSerializerSettings = new JsonSerializerSettings {
355+
EntityConvert.SetDefaultJsonSerializerSettings(new JsonSerializerSettings {
356356
Converters = new List<JsonConverter>{new KeysJsonConverter(typeof(Department))}
357-
};
357+
});
358358

359359
var emp = new Employee
360360
{

0 commit comments

Comments
 (0)