< Summary - Jellyfin

Information
Class: Jellyfin.Extensions.Json.Converters.JsonPipeDelimitedArrayConverterFactory
Assembly: Jellyfin.Extensions
File(s): /srv/git/jellyfin/src/Jellyfin.Extensions/Json/Converters/JsonPipeDelimitedArrayConverterFactory.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 3
Coverable lines: 3
Total lines: 28
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
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%210%
CreateConverter(...)0%620%

File(s)

/srv/git/jellyfin/src/Jellyfin.Extensions/Json/Converters/JsonPipeDelimitedArrayConverterFactory.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 Pipe delimited array converter factory.
 9    /// </summary>
 10    /// <remarks>
 11    /// This must be applied as an attribute, adding to the JsonConverter list causes stack overflow.
 12    /// </remarks>
 13    public class JsonPipeDelimitedArrayConverterFactory : JsonConverterFactory
 14    {
 15        /// <inheritdoc />
 16        public override bool CanConvert(Type typeToConvert)
 17        {
 018            return true;
 19        }
 20
 21        /// <inheritdoc />
 22        public override JsonConverter? CreateConverter(Type typeToConvert, JsonSerializerOptions options)
 23        {
 024            var structType = typeToConvert.GetElementType() ?? typeToConvert.GenericTypeArguments[0];
 025            return (JsonConverter?)Activator.CreateInstance(typeof(JsonPipeDelimitedArrayConverter<>).MakeGenericType(st
 26        }
 27    }
 28}