diff options
| author | Bond_009 <bond.009@outlook.com> | 2021-05-05 12:57:01 +0200 |
|---|---|---|
| committer | Bond_009 <bond.009@outlook.com> | 2021-05-05 12:57:01 +0200 |
| commit | 91c2a57b284011a21c926e9238dbc7edb5eaab13 (patch) | |
| tree | 6aa65ceabd25e4ea4ad87fffe0e0596450c50cae /MediaBrowser.Common/Json/Converters/JsonCommaDelimitedArrayConverter.cs | |
| parent | 48e81e65e8948fa61980744932eb4103a28ed876 (diff) | |
Enable nullable reference types for MediaBrowser.Common
Diffstat (limited to 'MediaBrowser.Common/Json/Converters/JsonCommaDelimitedArrayConverter.cs')
| -rw-r--r-- | MediaBrowser.Common/Json/Converters/JsonCommaDelimitedArrayConverter.cs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/MediaBrowser.Common/Json/Converters/JsonCommaDelimitedArrayConverter.cs b/MediaBrowser.Common/Json/Converters/JsonCommaDelimitedArrayConverter.cs index 2ec702165..55c4665e8 100644 --- a/MediaBrowser.Common/Json/Converters/JsonCommaDelimitedArrayConverter.cs +++ b/MediaBrowser.Common/Json/Converters/JsonCommaDelimitedArrayConverter.cs @@ -9,7 +9,7 @@ namespace MediaBrowser.Common.Json.Converters /// Convert comma delimited string to array of type. /// </summary> /// <typeparam name="T">Type to convert to.</typeparam> - public class JsonCommaDelimitedArrayConverter<T> : JsonConverter<T[]> + public class JsonCommaDelimitedArrayConverter<T> : JsonConverter<T[]?> { private readonly TypeConverter _typeConverter; @@ -22,11 +22,17 @@ namespace MediaBrowser.Common.Json.Converters } /// <inheritdoc /> - public override T[] Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + public override T[]? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + { + return null; + } + if (reader.TokenType == JsonTokenType.String) { - var stringEntries = reader.GetString().Split(',', StringSplitOptions.RemoveEmptyEntries); + // GetString can't return null here because we already handled it above + var stringEntries = reader.GetString()!.Split(',', StringSplitOptions.RemoveEmptyEntries); if (stringEntries.Length == 0) { return Array.Empty<T>(); @@ -67,7 +73,7 @@ namespace MediaBrowser.Common.Json.Converters } /// <inheritdoc /> - public override void Write(Utf8JsonWriter writer, T[] value, JsonSerializerOptions options) + public override void Write(Utf8JsonWriter writer, T[]? value, JsonSerializerOptions options) { throw new NotImplementedException(); } |
