< Summary

Information
Class: TeleFlow.Telegram.Internal.TypedTelegramUpdateBatchReceiver
Assembly: TeleFlow.Telegram.LongPolling
File(s): /_/src/TeleFlow.Telegram.LongPolling/Internal/TypedTelegramUpdateBatchReceiver.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 22
Line coverage: 100%
Branch coverage
50%
Covered branches: 1
Total branches: 2
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

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

File(s)

/_/src/TeleFlow.Telegram.LongPolling/Internal/TypedTelegramUpdateBatchReceiver.cs

#LineLine coverage
 1using TeleFlow.Telegram.Schema.Methods;
 2
 3namespace TeleFlow.Telegram.Internal;
 4
 5/// <summary>
 6/// Preserves the public direct-construction path by adapting an arbitrary Telegram client to successful update batches.
 7/// The dependency-injection path uses the raw per-update receiver instead.
 8/// </summary>
 9internal sealed class TypedTelegramUpdateBatchReceiver(ITelegramClient client) : ITelegramUpdateBatchReceiver
 10{
 2111    private readonly ITelegramClient _client = client ?? throw new ArgumentNullException(nameof(client));
 12
 13    public async Task<IReadOnlyList<TelegramUpdateDecodeResult>> ReceiveAsync(
 14        GetUpdates request,
 15        CancellationToken cancellationToken)
 16    {
 3117        ArgumentNullException.ThrowIfNull(request);
 18
 3119        var updates = await _client.SendAsync(request, cancellationToken).ConfigureAwait(false);
 2320        return updates.Select(TelegramUpdateDecodeResult.Success).ToArray();
 2321    }
 22}