< Summary - Jellyfin

Information
Class: Jellyfin.Extensions.Json.Converters.JsonVersionConverter
Assembly: Jellyfin.Extensions
File(s): /srv/git/jellyfin/src/Jellyfin.Extensions/Json/Converters/JsonVersionConverter.cs
Line coverage
100%
Covered lines: 2
Uncovered lines: 0
Coverable lines: 2
Total lines: 23
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
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
Read(...)100%11100%
Write(...)100%11100%

File(s)

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

#LineLine coverage
 1using System;
 2using System.Text.Json;
 3using System.Text.Json.Serialization;
 4
 5namespace Jellyfin.Extensions.Json.Converters
 6{
 7    /// <summary>
 8    /// Converts a Version object or value to/from JSON.
 9    /// </summary>
 10    /// <remarks>
 11    /// Required to send <see cref="Version"/> as a string instead of an object.
 12    /// </remarks>
 13    public class JsonVersionConverter : JsonConverter<Version>
 14    {
 15        /// <inheritdoc />
 16        public override Version Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
 817            => new Version(reader.GetString()!); // Will throw ArgumentNullException on null
 18
 19        /// <inheritdoc />
 20        public override void Write(Utf8JsonWriter writer, Version value, JsonSerializerOptions options)
 821            => writer.WriteStringValue(value.ToString());
 22    }
 23}