using System.Linq.Expressions; using ErsatzTV.Core; namespace ErsatzTV; public static partial class Validators { public static Func>, Validation> AtLeast(this T input, int minimum) => value => Optional(value) .Map(i => i.Compile()(input)) .Where(i => i >= minimum) .ToValidation( $"[{GetMemberName(value)}] must be greater or equal to {minimum}"); }