< Summary - Jellyfin

Information
Class: Jellyfin.Extensions.Json.Converters.JsonNullableStructConverterFactory
Assembly: Jellyfin.Extensions
File(s): /srv/git/jellyfin/src/Jellyfin.Extensions/Json/Converters/JsonNullableStructConverterFactory.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 27
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
CanConvert(...)100%44100%
CreateConverter(...)100%11100%

File(s)

/srv/git/jellyfin/src/Jellyfin.Extensions/Json/Converters/JsonNullableStructConverterFactory.cs

#LineLine coverage
 1using System;
 2using System.Text.Json;
 3using System.Text.Json.Serialization;
 4
 5namespace Jellyfin.Extensions.Json.Converters
 6{
 7    /// <summary>
 8    /// Json nullable struct converter factory.
 9    /// </summary>
 10    public class JsonNullableStructConverterFactory : JsonConverterFactory
 11    {
 12        /// <inheritdoc />
 13        public override bool CanConvert(Type typeToConvert)
 14        {
 58915            return typeToConvert.IsGenericType
 58916                   && typeToConvert.GetGenericTypeDefinition() == typeof(Nullable<>)
 58917                   && typeToConvert.GenericTypeArguments[0].IsValueType;
 18        }
 19
 20        /// <inheritdoc />
 21        public override JsonConverter? CreateConverter(Type typeToConvert, JsonSerializerOptions options)
 22        {
 4523            var structType = typeToConvert.GenericTypeArguments[0];
 4524            return (JsonConverter?)Activator.CreateInstance(typeof(JsonNullableStructConverter<>).MakeGenericType(struct
 25        }
 26    }
 27}