File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed
src/NodaTime.Serialization.SystemTextJson Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change 88
99namespace NodaTime . Serialization . SystemTextJson ;
1010
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
1217{
1318 private readonly JsonConverter < T > _innerConverter ;
1419
20+ /// <summary>
21+ /// Creates a new NodaNullableConverter.
22+ /// </summary>
23+ /// <param name="innerConverter">Inner converter for serializing and deserializing when not null.</param>
1524 public NodaNullableConverter ( JsonConverter < T > innerConverter )
1625 {
1726 Preconditions . CheckNotNull ( innerConverter , nameof ( innerConverter ) ) ;
1827
1928 _innerConverter = innerConverter ;
2029 }
2130
31+ /// <inheritdoc />
2232 public override T ? Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
2333 {
2434 if ( reader . TokenType == JsonTokenType . Null )
@@ -29,6 +39,7 @@ public NodaNullableConverter(JsonConverter<T> innerConverter)
2939 return _innerConverter . Read ( ref reader , typeToConvert , options ) ;
3040 }
3141
42+ /// <inheritdoc />
3243 public override void Write ( Utf8JsonWriter writer , T ? value , JsonSerializerOptions options )
3344 {
3445 if ( value is null )
You can’t perform that action at this time.
0 commit comments