using System.Collections;

namespace SteUp.Shared.Core.Helpers;

public static class ObjectExtensions
{
    public static bool IsNullOrEmpty(this IEnumerable? obj) => 
        obj == null || !obj.GetEnumerator().MoveNext();
    
    public static bool IsNullOrEmpty(this string? obj) => 
        string.IsNullOrEmpty(obj);

    public static bool IsValorized(this string? obj) => !obj.IsNullOrEmpty();

    public static bool EqualsIgnoreCase(this string obj, string other) =>
        string.Equals(obj, other, StringComparison.InvariantCultureIgnoreCase);

    public static bool ContainsIgnoreCase(this string obj, string other) =>
        obj.Contains(other, StringComparison.InvariantCultureIgnoreCase);

    public static int Count<T>(this List<T>? obj) => obj?.Count ?? 0;
}