< Summary

Information
Class: TeleFlow.Telegram.Internal.Handlers.TelegramFilterDescriptor
Assembly: TeleFlow.Framework
File(s): /_/src/TeleFlow.Framework/Internal/Handlers/TelegramFilterDescriptor.cs
Line coverage
100%
Covered lines: 15
Uncovered lines: 0
Coverable lines: 15
Total lines: 69
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

Metrics

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

File(s)

/_/src/TeleFlow.Framework/Internal/Handlers/TelegramFilterDescriptor.cs

#LineLine coverage
 1namespace TeleFlow.Telegram.Internal.Handlers;
 2
 3internal sealed class TelegramFilterDescriptor
 4{
 5    public TelegramFilterDescriptor(
 6        TelegramFilterKind kind,
 7        IReadOnlyList<string> stringValues,
 8        IReadOnlyList<long> longValues)
 9    {
 58710        ArgumentNullException.ThrowIfNull(stringValues);
 58711        ArgumentNullException.ThrowIfNull(longValues);
 12
 58713        Kind = kind;
 14        StringValues = stringValues;
 15        LongValues = longValues;
 58716    }
 17
 18    public TelegramFilterDescriptor(Type customFilterType)
 19    {
 6620        ArgumentNullException.ThrowIfNull(customFilterType);
 21
 22        CustomFilterType = customFilterType;
 23        StringValues = [];
 24        LongValues = [];
 6625    }
 26
 27    public TelegramFilterDescriptor(
 28        Type customFilterType,
 29        Type customFilterContextType)
 2530        : this(customFilterType)
 31    {
 2532        ArgumentNullException.ThrowIfNull(customFilterContextType);
 33
 34        CustomFilterContextType = customFilterContextType;
 2535    }
 36
 37    public TelegramFilterDescriptor(
 38        Type customFilterType,
 39        Attribute customFilterAttribute)
 140        : this(customFilterType)
 41    {
 142        ArgumentNullException.ThrowIfNull(customFilterAttribute);
 43
 44        CustomFilterAttribute = customFilterAttribute;
 145    }
 46
 47    public TelegramFilterDescriptor(
 48        Type customFilterType,
 49        Type customFilterContextType,
 50        Attribute customFilterAttribute)
 2551        : this(customFilterType, customFilterContextType)
 52    {
 2553        ArgumentNullException.ThrowIfNull(customFilterAttribute);
 54
 55        CustomFilterAttribute = customFilterAttribute;
 2556    }
 57
 58    public TelegramFilterKind? Kind { get; }
 59
 60    public Type? CustomFilterType { get; }
 61
 62    public Type? CustomFilterContextType { get; }
 63
 64    public Attribute? CustomFilterAttribute { get; }
 65
 66    public IReadOnlyList<string> StringValues { get; }
 67
 68    public IReadOnlyList<long> LongValues { get; }
 69}