AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.8.3" />

.NET API 1,189,376 bytes

 ValidityState

sealed class ValidityState : IValidityState
A class for representing the current validity state.
using System; namespace AngleSharp.Dom.Html { internal sealed class ValidityState : IValidityState { [Flags] private enum ErrorType { None = 0, ValueMissing = 1, TypeMismatch = 2, PatternMismatch = 4, TooLong = 8, TooShort = 16, RangeUnderflow = 32, RangeOverflow = 64, StepMismatch = 128, BadInput = 256, Custom = 512 } private ErrorType _err; public bool IsValueMissing { get { return _err.HasFlag(ErrorType.ValueMissing); } set { Set(IsValueMissing, value, ErrorType.ValueMissing); } } public bool IsTypeMismatch { get { return _err.HasFlag(ErrorType.TypeMismatch); } set { Set(IsTypeMismatch, value, ErrorType.TypeMismatch); } } public bool IsPatternMismatch { get { return _err.HasFlag(ErrorType.PatternMismatch); } set { Set(IsPatternMismatch, value, ErrorType.PatternMismatch); } } public bool IsBadInput { get { return _err.HasFlag(ErrorType.BadInput); } set { Set(IsBadInput, value, ErrorType.BadInput); } } public bool IsTooLong { get { return _err.HasFlag(ErrorType.TooLong); } set { Set(IsTooLong, value, ErrorType.TooLong); } } public bool IsTooShort { get { return _err.HasFlag(ErrorType.TooShort); } set { Set(IsTooShort, value, ErrorType.TooShort); } } public bool IsRangeUnderflow { get { return _err.HasFlag(ErrorType.RangeUnderflow); } set { Set(IsRangeUnderflow, value, ErrorType.RangeUnderflow); } } public bool IsRangeOverflow { get { return _err.HasFlag(ErrorType.RangeOverflow); } set { Set(IsRangeOverflow, value, ErrorType.RangeOverflow); } } public bool IsStepMismatch { get { return _err.HasFlag(ErrorType.StepMismatch); } set { Set(IsStepMismatch, value, ErrorType.StepMismatch); } } public bool IsCustomError { get { return _err.HasFlag(ErrorType.Custom); } set { Set(IsCustomError, value, ErrorType.Custom); } } public bool IsValid => _err == ErrorType.None; internal ValidityState() { _err = ErrorType.None; } public void Reset() { _err = ErrorType.None; } private void Set(bool oldValue, bool newValue, ErrorType err) { if (newValue != oldValue) _err ^= err; } } }