﻿#region Header

// Copyright (c) 2021-2022 AccelByte Inc. All Rights Reserved.
// This is licensed software from AccelByte Inc, for limitations
// and restrictions contact your company contract manager.

#endregion

using System;
using System.Linq;

namespace BlackBox
{
	public static class StringExtensions
	{
		public static string CleanTrim(this string str)
		{
			return string.Concat(str.Where(c => !char.IsWhiteSpace(c)));
		}
		
		public static bool IsSafeString(this string str)
		{
			return !string.IsNullOrEmpty(str) && !string.IsNullOrWhiteSpace(str);
		}
		
		public static bool IsEnclosedWith(this string str, string first, string last)
		{
			return str.First().ToString().Compare(first) && str.Last().ToString().Compare(last);
		}
		
		public static bool Compare(this string a, string b)
		{
			if (a == null) return false;
			if (b == null) return false;

			return string.Compare(a, b, StringComparison.Ordinal) == 0;
		}
	}
}
