Skip to content

Commit 7f1f319

Browse files
author
Oren (electricessence)
committed
Enabled Nullable.
1 parent 67d6e29 commit 7f1f319

11 files changed

Lines changed: 34 additions & 20 deletions

File tree

Open.Serialization.Json.Newtonsoft/Converters/JsonDecimalConverter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ protected JsonDecimalConverter()
1313
public static readonly JsonDecimalConverter Instance
1414
= new JsonDecimalConverter();
1515

16-
public static string Normalize(decimal? value)
16+
public static string? Normalize(decimal? value)
1717
=> Normalize(value?.ToString());
1818

19-
public static string Normalize(string decimalString)
19+
public static string? Normalize(string? decimalString)
2020
=> decimalString?.IndexOf('.') == -1 ? decimalString
2121
: decimalString?.TrimEnd('0').TrimEnd('.');
2222

Open.Serialization.Json.Newtonsoft/Extensions.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ static JsonSerializerSettings RoundDoublesCore(this JsonSerializerSettings setti
9898

9999
static JsonSerializerSettings RoundNullableDoublesCore(this JsonSerializerSettings settings, int maxDecimals)
100100
{
101-
var existing = settings.Converters.FirstOrDefault(c => c is JsonConverter<double?>);
101+
JsonConverter? existing = settings.Converters.FirstOrDefault(c => c is JsonConverter<double?>);
102102
if (existing is JsonNullableDoubleConverter && existing.GetType() == typeof(JsonNullableDoubleConverter))
103103
{
104104
settings.Converters.Remove(existing);
@@ -118,7 +118,7 @@ public static JsonSerializerSettings RoundDoubles(this JsonSerializerSettings se
118118

119119
public static JsonSerializerSettings NormalizeDecimals(this JsonSerializerSettings settings)
120120
{
121-
var existing = settings.Converters.FirstOrDefault(c => c is JsonConverter<decimal>);
121+
JsonConverter? existing = settings.Converters.FirstOrDefault(c => c is JsonConverter<decimal>);
122122
var existingNullable = settings.Converters.FirstOrDefault(c => c is JsonConverter<decimal?>);
123123

124124
if (existing is JsonDecimalConverter && existingNullable is JsonNullableDecimalConverter)
@@ -137,7 +137,7 @@ public static JsonSerializerSettings NormalizeDecimals(this JsonSerializerSettin
137137

138138
static JsonSerializerSettings RoundDecimalsCore(this JsonSerializerSettings settings, int maxDecimals)
139139
{
140-
var existing = settings.Converters.FirstOrDefault(c => c is JsonConverter<decimal>);
140+
JsonConverter? existing = settings.Converters.FirstOrDefault(c => c is JsonConverter<decimal>);
141141
if (existing is JsonDecimalConverter && existing.GetType() == typeof(JsonDecimalConverter))
142142
{
143143
settings.Converters.Remove(existing);
@@ -152,7 +152,7 @@ static JsonSerializerSettings RoundDecimalsCore(this JsonSerializerSettings sett
152152

153153
static JsonSerializerSettings RoundNullableDecimalsCore(this JsonSerializerSettings settings, int maxDecimals)
154154
{
155-
var existing = settings.Converters.FirstOrDefault(c => c is JsonConverter<decimal?>);
155+
JsonConverter? existing = settings.Converters.FirstOrDefault(c => c is JsonConverter<decimal?>);
156156
if (existing is JsonNullableDecimalConverter && existing.GetType() == typeof(JsonNullableDecimalConverter))
157157
{
158158
settings.Converters.Remove(existing);

Open.Serialization.Json.Newtonsoft/JsonSerializerFactory.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,17 @@ public class JsonSerializerFactory : JsonSerializerFactoryBase
99
{
1010
static readonly JsonSerializerSettings DefaultOptions = RelaxedJson.Options();
1111
readonly JsonSerializerSettings _settings;
12-
public JsonSerializerFactory(JsonSerializerSettings defaultOptions = null)
12+
public JsonSerializerFactory(JsonSerializerSettings? defaultOptions = null)
1313
{
1414
_settings = defaultOptions?.Clone() ?? DefaultOptions;
1515
}
1616

17-
JsonSerializerInternal _default;
17+
JsonSerializerInternal? _default;
18+
#pragma warning disable CS8603 // Possible null reference return.
1819
JsonSerializerInternal Default => LazyInitializer.EnsureInitialized(ref _default, () => new JsonSerializerInternal(_settings));
20+
#pragma warning restore CS8603 // Possible null reference return.
1921

20-
public override IJsonSerializer GetSerializer(IJsonSerializationOptions options = null, bool caseSensitive = false)
22+
public override IJsonSerializer GetSerializer(IJsonSerializationOptions? options = null, bool caseSensitive = false)
2123
{
2224
if (caseSensitive)
2325
throw new NotSupportedException("Newtonsoft does not support case-sensitive deserialization.");
@@ -50,7 +52,7 @@ public override IJsonSerializer GetSerializer(IJsonSerializationOptions options
5052
if(options.OmitNull.HasValue)
5153
o.NullValueHandling = options.OmitNull.Value ? NullValueHandling.Ignore : NullValueHandling.Include;
5254

53-
if (options.OmitNull.HasValue)
55+
if (options.Indent.HasValue)
5456
o.Formatting = options.Indent.Value ? Formatting.Indented : Formatting.None;
5557

5658
return new JsonSerializerInternal(o);

Open.Serialization.Json.Newtonsoft/Open.Serialization.Json.Newtonsoft.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ Part of the "Open" set of libraries.
1717
<RepositoryUrl>https://github.com/electricessence/Open.Serialization</RepositoryUrl>
1818
<RepositoryType>git</RepositoryType>
1919
<PackageTags>serialization json newtonsoft</PackageTags>
20-
<Version>1.2.7</Version>
20+
<Version>1.2.8</Version>
21+
22+
<Nullable>enable</Nullable>
2123
</PropertyGroup>
2224

2325
<ItemGroup>

Open.Serialization.Json.System/Extensions.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ static JsonSerializerOptions RoundDoublesCore(this JsonSerializerOptions options
9595

9696
static JsonSerializerOptions RoundNullableDoublesCore(this JsonSerializerOptions options, int maxDecimals)
9797
{
98-
var existing = options.Converters.FirstOrDefault(c => c is JsonConverter<double?>);
98+
JsonConverter? existing = options.Converters.FirstOrDefault(c => c is JsonConverter<double?>);
9999
if (existing is JsonNullableDoubleConverter && existing.GetType() == typeof(JsonNullableDoubleConverter))
100100
{
101101
options.Converters.Remove(existing);
@@ -115,7 +115,7 @@ public static JsonSerializerOptions RoundDoubles(this JsonSerializerOptions opti
115115

116116
public static JsonSerializerOptions NormalizeDecimals(this JsonSerializerOptions options)
117117
{
118-
var existing = options.Converters.FirstOrDefault(c => c is JsonConverter<decimal>);
118+
JsonConverter? existing = options.Converters.FirstOrDefault(c => c is JsonConverter<decimal>);
119119
var existingNullable = options.Converters.FirstOrDefault(c => c is JsonConverter<decimal?>);
120120

121121
if (existing is JsonDecimalConverter && existingNullable is JsonNullableDecimalConverter)
@@ -134,7 +134,7 @@ public static JsonSerializerOptions NormalizeDecimals(this JsonSerializerOptions
134134

135135
static JsonSerializerOptions RoundDecimalsCore(this JsonSerializerOptions options, int maxDecimals)
136136
{
137-
var existing = options.Converters.FirstOrDefault(c => c is JsonConverter<decimal>);
137+
JsonConverter? existing = options.Converters.FirstOrDefault(c => c is JsonConverter<decimal>);
138138
if (existing is JsonDecimalConverter && existing.GetType() == typeof(JsonDecimalConverter))
139139
{
140140
options.Converters.Remove(existing);
@@ -149,7 +149,7 @@ static JsonSerializerOptions RoundDecimalsCore(this JsonSerializerOptions option
149149

150150
static JsonSerializerOptions RoundNullableDecimalsCore(this JsonSerializerOptions options, int maxDecimals)
151151
{
152-
var existing = options.Converters.FirstOrDefault(c => c is JsonConverter<decimal?>);
152+
JsonConverter? existing = options.Converters.FirstOrDefault(c => c is JsonConverter<decimal?>);
153153
if (existing is JsonNullableDecimalConverter && existing.GetType() == typeof(JsonNullableDecimalConverter))
154154
{
155155
options.Converters.Remove(existing);

Open.Serialization.Json.System/JsonSerializerFactory.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,25 @@ public class JsonSerializerFactory : JsonSerializerFactoryBase
77
{
88
static readonly JsonSerializerOptions DefaultOptions = RelaxedJson.Options();
99
readonly JsonSerializerOptions _options;
10-
public JsonSerializerFactory(JsonSerializerOptions defaultOptions = null)
10+
public JsonSerializerFactory(JsonSerializerOptions? defaultOptions = null)
1111
{
1212
_options = defaultOptions?.Clone() ?? DefaultOptions;
1313
}
1414

15-
JsonSerializerInternal _caseSensitive;
16-
JsonSerializerInternal _ignoreCase;
15+
JsonSerializerInternal? _caseSensitive;
16+
JsonSerializerInternal? _ignoreCase;
1717

18-
public override IJsonSerializer GetSerializer(IJsonSerializationOptions options = null, bool caseSensitive = false)
18+
public override IJsonSerializer GetSerializer(IJsonSerializationOptions? options = null, bool caseSensitive = false)
1919
{
2020
if (options == null)
2121
{
22+
#pragma warning disable CS8603 // Possible null reference return.
2223
return caseSensitive
2324
? LazyInitializer.EnsureInitialized(ref _caseSensitive,
2425
() => new JsonSerializerInternal(_options.Clone().SetPropertyNameCaseInsensitive(false)))
2526
: LazyInitializer.EnsureInitialized(ref _ignoreCase,
2627
() => new JsonSerializerInternal(_options.Clone().SetPropertyNameCaseInsensitive(true)));
28+
#pragma warning restore CS8603 // Possible null reference return.
2729
}
2830

2931
var o = _options.Clone();

Open.Serialization.Json.System/Open.Serialization.Json.System.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Part of the "Open" set of libraries.
1818
<RepositoryType>git</RepositoryType>
1919
<PackageTags>serialization json stj</PackageTags>
2020
<Version>1.2.2</Version>
21+
22+
<Nullable>enable</Nullable>
2123
</PropertyGroup>
2224

2325
<ItemGroup>

Open.Serialization.Json.Utf8Json/Open.Serialization.Json.Utf8Json.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Part of the "Open" set of libraries.
1818
<RepositoryType>git</RepositoryType>
1919
<PackageTags>serialization json utf8json</PackageTags>
2020
<Version>1.2.2</Version>
21+
22+
<Nullable>enable</Nullable>
2123
</PropertyGroup>
2224

2325
<ItemGroup>

Open.Serialization.Json/Open.Serialization.Json.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Part of the "Open" set of libraries.
1818
<RepositoryType>git</RepositoryType>
1919
<PackageTags>serialization json</PackageTags>
2020
<Version>1.2.2</Version>
21+
22+
<Nullable>enable</Nullable>
2123
</PropertyGroup>
2224

2325
<ItemGroup>

Open.Serialization.Tests/Open.Serialization.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<TargetFramework>netcoreapp3.0</TargetFramework>

0 commit comments

Comments
 (0)