File tree 1 file changed +12
-1
lines changed
src/NodaTime.Serialization.SystemTextJson
1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change 8
8
9
9
namespace NodaTime . Serialization . SystemTextJson ;
10
10
11
- internal class NodaNullableConverter < T > : JsonConverter < T ? > where T : struct
11
+ /// <summary>
12
+ /// System.Text.Json converter for <see cref="Nullable{T}"/> value types, wrapping
13
+ /// an inner converter.
14
+ /// </summary>
15
+ /// <typeparam name="T">Value type to be converted.</typeparam>
16
+ internal sealed class NodaNullableConverter < T > : JsonConverter < T ? > where T : struct
12
17
{
13
18
private readonly JsonConverter < T > _innerConverter ;
14
19
20
+ /// <summary>
21
+ /// Creates a new NodaNullableConverter.
22
+ /// </summary>
23
+ /// <param name="innerConverter">Inner converter for serializing and deserializing when not null.</param>
15
24
public NodaNullableConverter ( JsonConverter < T > innerConverter )
16
25
{
17
26
Preconditions . CheckNotNull ( innerConverter , nameof ( innerConverter ) ) ;
18
27
19
28
_innerConverter = innerConverter ;
20
29
}
21
30
31
+ /// <inheritdoc />
22
32
public override T ? Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
23
33
{
24
34
if ( reader . TokenType == JsonTokenType . Null )
@@ -29,6 +39,7 @@ public NodaNullableConverter(JsonConverter<T> innerConverter)
29
39
return _innerConverter . Read ( ref reader , typeToConvert , options ) ;
30
40
}
31
41
42
+ /// <inheritdoc />
32
43
public override void Write ( Utf8JsonWriter writer , T ? value , JsonSerializerOptions options )
33
44
{
34
45
if ( value is null )
You can’t perform that action at this time.
0 commit comments