Stubble.Core.Context.IsTruthyValue C# (CSharp) Метод

IsTruthyValue() публичный Метод

Checks if the passed value is Truthy
public IsTruthyValue ( object value ) : bool
value object The value to check
Результат bool
        public bool IsTruthyValue(object value)
        {
            if (value == null)
            {
                return false;
            }

            foreach (var func in Registry.TruthyChecks)
            {
                var funcResult = func(value);
                if (funcResult.HasValue)
                {
                    return funcResult.Value;
                }
            }

            if (value is bool)
            {
                return (bool)value;
            }

            var strValue = value as string;
            if (strValue != null)
            {
                var trimmed = strValue.Trim();

                if (trimmed == "1")
                {
                    return true;
                }

                if (trimmed == "0")
                {
                    return false;
                }

                if (trimmed.Equals("true", StringComparison.OrdinalIgnoreCase))
                {
                    return true;
                }

                if (trimmed.Equals("false", StringComparison.OrdinalIgnoreCase))
                {
                    return false;
                }

                return !string.IsNullOrEmpty(trimmed);
            }

            var enumerableValue = value as IEnumerable;
            if (enumerableValue != null)
            {
                return enumerableValue.GetEnumerator().MoveNext();
            }

            return true;
        }