< Summary

Information
Class: Elsa.Extensions.JsonElementExtensions
Assembly: Elsa.Expressions
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Expressions/Extensions/JsonElementExtensions.cs
Line coverage
66%
Covered lines: 8
Uncovered lines: 4
Coverable lines: 12
Total lines: 31
Line coverage: 66.6%
Branch coverage
55%
Covered branches: 5
Total branches: 9
Branch coverage: 55.5%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetValue(...)55.55%12966.66%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Expressions/Extensions/JsonElementExtensions.cs

#LineLine coverage
 1using System.Text.Json;
 2
 3// ReSharper disable once CheckNamespace
 4namespace Elsa.Extensions;
 5
 6/// <summary>
 7/// Parses a <see cref="JsonElement"/> into a .NET object.
 8/// </summary>
 9public static class JsonElementExtensions
 10{
 11    /// <summary>
 12    /// Parses a <see cref="JsonElement"/> into a .NET object.
 13    /// </summary>
 14    /// <param name="jsonElement">The JSON element to parse.</param>
 15    /// <returns>The parsed object.</returns>
 16    public static object? GetValue(this JsonElement jsonElement)
 17    {
 955018        return jsonElement.ValueKind switch
 955019        {
 219420            JsonValueKind.String => jsonElement.GetString(),
 021            JsonValueKind.Number => jsonElement.GetDecimal(),
 35322            JsonValueKind.True => true,
 661223            JsonValueKind.False => false,
 35324            JsonValueKind.Undefined => null,
 025            JsonValueKind.Null => null,
 026            JsonValueKind.Object => jsonElement.GetRawText(),
 3827            JsonValueKind.Array => jsonElement.GetRawText(),
 028            _ => jsonElement.GetRawText()
 955029        };
 30    }
 31}