Beispiel #1
0
        public ValueRangeToken(LeoMember member, TVal from, TVal to, RangeOptions options) : base(member)
        {
            _from = from;
            _to   = to;

            _options = options;
        }
Beispiel #2
0
 public LeoLoopContext(string name, object value, LeoMember member, int index)
 {
     Name     = name;
     Value    = value;
     Metadata = member;
     Index    = index;
 }
Beispiel #3
0
 public ValueMaxLengthLimitedToken(LeoMember member, int max) : base(member)
 {
     if (max < 0)
     {
         throw new ArgumentOutOfRangeException(nameof(max));
     }
     _maxLength = max;
 }
Beispiel #4
0
 public ValueMinLengthLimitedToken(LeoMember member, int min) : base(member)
 {
     if (min < 0)
     {
         throw new ArgumentOutOfRangeException(nameof(min));
     }
     _minLength = min;
 }
Beispiel #5
0
        public ValueStringEnumToken(LeoMember member, Type enumType, bool caseSensitive) : base(member)
        {
            _enumType      = enumType ?? throw new ArgumentNullException(nameof(enumType));
            _caseSensitive = caseSensitive;

            if (!enumType.IsEnum)
            {
                throw new ArgumentOutOfRangeException(nameof(enumType), $"The type '{enumType.Name}' is not an enum and can't be used with IsEnumName.");
            }
        }
Beispiel #6
0
        public ValueLengthLimitedToken(LeoMember member, int min, int max) : base(member)
        {
            if (min < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(min));
            }
            if (max != -1 && max < min)
            {
                throw new ArgumentOutOfRangeException(nameof(max), "Max should be larger than min.");
            }

            _minLength = min;
            _maxLength = max;
        }
Beispiel #7
0
 public void Do(string name, object value, LeoMember member, int?index = null)
 {
     if (_withNumber && index.HasValue)
     {
         _action0?.Invoke(name, value, member, index.Value);
     }
     else if (_withMember)
     {
         _action1?.Invoke(name, value, member);
     }
     else
     {
         _action2?.Invoke(name, value);
     }
 }
Beispiel #8
0
 public TVal Do(string name, object value, LeoMember member, int?index = null)
 {
     if (_withNumber && index.HasValue)
     {
         return(_action0 is null ? default : _action0.Invoke(name, value, member, index.Value));
     }
     else if (_withMember)
     {
         return(_action1 is null ? default : _action1.Invoke(name, value, member));
     }
     else
     {
         return(_action2 is null ? default : _action2.Invoke(name, value));
     }
 }
Beispiel #9
0
        public ValueRangeToken(LeoMember member, object from, object to, RangeOptions options) : base(member)
        {
            if (from is null || to is null)
            {
                _from = default;
                _to   = default;
                _returnFalseDirectly = true;
            }

            if (!_returnFalseDirectly && from is IComparable from0)
            {
                _from = from0;
            }
            else
            {
                _from = default;
                _returnFalseDirectly = true;
            }

            if (!_returnFalseDirectly && to is IComparable to0)
            {
                _to = to0;
            }
            else
            {
                _to = default;
                _returnFalseDirectly = true;
            }

            if (!_returnFalseDirectly && _from !.CompareTo(_to) > 0)
            {
                _returnFalseDirectly = true;
            }

            _options = options;
        }
Beispiel #10
0
 public ValueGreaterThanToken(LeoMember member, TVal valueToCompare) : base(member)
 {
     _valueToCompare       = valueToCompare;
     _typeOfValueToCompare = typeof(TVal);
 }
Beispiel #11
0
 public ValueRequiredTypeToken(LeoMember member, Type type) : base(member)
 {
     _type = type ?? throw new ArgumentNullException(nameof(type));
 }
Beispiel #12
0
 public ValueEnumToken(LeoMember member, Type enumType) : base(member)
 {
     _enumType = enumType ?? throw new ArgumentNullException(nameof(enumType));
 }
Beispiel #13
0
 public ValueEqualToken(LeoMember member, object valueToCompare, IEqualityComparer comparer) : base(member)
 {
     _valueToCompare       = valueToCompare;
     _typeOfValueToCompare = _valueToCompare.GetType();
     _comparer             = comparer;
 }
Beispiel #14
0
 public ValueRegularExpressionToken(LeoMember member, string expression, RegexOptions options) : base(member)
 {
     _regexFunc = x => CreateRegex(expression, options);
 }
Beispiel #15
0
 public ValueNullToken(LeoMember member) : base(member)
 {
 }
Beispiel #16
0
 public ValueLessThanOrEqualToken(LeoMember member, object valueToCompare) : base(member)
 {
     _valueToCompare       = valueToCompare;
     _typeOfValueToCompare = _valueToCompare.GetType();
 }
Beispiel #17
0
 protected ValueToken(LeoMember member)
 {
     __metadata_LeoMember = member;
 }
Beispiel #18
0
 public ValueRequiredTypesToken(LeoMember member, params Type[] types) : base(member)
 {
     _types = types;
 }
Beispiel #19
0
 public ValueEqualToken(LeoMember member, TVal valueToCompare, IEqualityComparer <TVal> comparer) : base(member)
 {
     _valueToCompare = valueToCompare;
     _comparer       = comparer;
 }
Beispiel #20
0
 public ValueLessThanOrEqualToken(LeoMember member, TVal valueToCompare) : base(member)
 {
     _valueToCompare       = valueToCompare;
     _typeOfValueToCompare = typeof(TVal);
 }
Beispiel #21
0
 public ValueStringEnumToken(LeoMember member, bool caseSensitive) : base(member, typeof(TEnum), caseSensitive)
 {
 }
Beispiel #22
0
 public ValueEmptyToken(LeoMember member) : base(member)
 {
 }
Beispiel #23
0
 public ValueRegularExpressionToken(LeoMember member, Func <object, string> expressionFunc, RegexOptions options) : base(member)
 {
     _regexFunc = x => CreateRegex(expressionFunc(x), options);
 }
Beispiel #24
0
 public ValueRegularExpressionToken(LeoMember member, Func <object, Regex> regexFunc) : base(member)
 {
     _regexFunc = regexFunc;
 }
Beispiel #25
0
 public ValueEnumToken(LeoMember member) : base(member, typeof(TEnum))
 {
 }
Beispiel #26
0
 public ValueAnyToken(LeoMember member, Func <TItem, bool> func) : base(member)
 {
     _func = func;
 }
Beispiel #27
0
 public ValueRequiredTypeToken(LeoMember member) : base(member, typeof(T))
 {
 }
Beispiel #28
0
 public ValueFuncToken(LeoMember member, Func <TVal, CustomVerifyResult> func) : base(member)
 {
     _func = func;
 }
Beispiel #29
0
 public ValueNotInToken(LeoMember member, ICollection <TVal> objects) : base(member)
 {
     _objects = objects ?? System.Array.Empty <TVal>();
 }
Beispiel #30
0
 public ValueRegularExpressionToken(LeoMember member, Regex regex) : base(member)
 {
     _regexFunc = x => regex;
 }