< Summary - Jellyfin

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

File(s)

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

#LineLine coverage
 1using System;
 2using System.Globalization;
 3using System.Text.Json;
 4using System.Text.Json.Serialization;
 5
 6namespace Jellyfin.Extensions.Json.Converters
 7{
 8    /// <summary>
 9    /// Converts a GUID object or value to/from JSON.
 10    /// </summary>
 11    public class JsonGuidConverter : JsonConverter<Guid>
 12    {
 13        /// <inheritdoc />
 14        public override Guid Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
 14115            => reader.IsNull()
 14116                ? Guid.Empty
 14117                : ReadInternal(ref reader);
 18
 19        // TODO: optimize by parsing the UTF8 bytes instead of converting to string first
 20        internal static Guid ReadInternal(ref Utf8JsonReader reader)
 15121            => Guid.Parse(reader.GetString()!); // null got handled higher up the call stack
 22
 23        /// <inheritdoc />
 24        public override void Write(Utf8JsonWriter writer, Guid value, JsonSerializerOptions options)
 10225            => WriteInternal(writer, value);
 26
 27        internal static void WriteInternal(Utf8JsonWriter writer, Guid value)
 11128            => writer.WriteStringValue(value.ToString("N", CultureInfo.InvariantCulture));
 29    }
 30}