< Summary

Information
Class: ArturRios.Data.Export.Exporters.JsonExporter<T>
Assembly: ArturRios.Data.Export
File(s): D:\Repositories\dotnet-data\src\ArturRios.Data.Export\Exporters\JsonExporter.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 17
Line coverage: 100%
Branch coverage
50%
Covered branches: 1
Total branches: 2
Branch coverage: 50%
Method coverage
100%
Covered methods: 2
Fully covered methods: 2
Total methods: 2
Method coverage: 100%
Full method coverage: 100%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
WriteCoreAsync(...)50%22100%

File(s)

D:\Repositories\dotnet-data\src\ArturRios.Data.Export\Exporters\JsonExporter.cs

#LineLine coverage
 1using System.Text.Json;
 2using ArturRios.Data.Export.Configuration;
 3
 4namespace ArturRios.Data.Export.Exporters;
 5
 6/// <summary>Serializes the collection as a JSON array via System.Text.Json.</summary>
 7/// <typeparam name="T">The record type.</typeparam>
 8/// <param name="options">JSON options.</param>
 59public class JsonExporter<T>(JsonOptions options) : ExporterBase<T> where T : class
 10{
 11    /// <inheritdoc />
 12    protected override Task WriteCoreAsync(IEnumerable<T> data, Stream destination, CancellationToken ct)
 313    {
 314        var serializerOptions = options.SerializerOptions ?? new JsonSerializerOptions { WriteIndented = options.WriteIn
 315        return JsonSerializer.SerializeAsync(destination, data, serializerOptions, ct);
 316    }
 17}