mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-19 16:40:26 +02:00

Implemented parsing boolean strings. This implementation does not trim whitespace and nulls and check strings if the string does not match at first like C#.
39 lines
710 B
Beef
39 lines
710 B
Beef
namespace System
|
|
{
|
|
struct Boolean : bool, IHashable
|
|
{
|
|
//
|
|
// Public Constants
|
|
//
|
|
|
|
// The public string representation of true.
|
|
public const String TrueString = "True";
|
|
|
|
// The public string representation of false.
|
|
public const String FalseString = "False";
|
|
|
|
public override void ToString(String strBuffer)
|
|
{
|
|
strBuffer.Append(((bool)this) ? TrueString : FalseString);
|
|
}
|
|
|
|
public int GetHashCode()
|
|
{
|
|
return ((bool)this) ? 1 : 0;
|
|
}
|
|
|
|
public static Result<bool> Parse(StringView val)
|
|
{
|
|
if (val.IsEmpty)
|
|
return .Err;
|
|
|
|
if (val.Equals(TrueString, true))
|
|
return true;
|
|
|
|
if (val.Equals(FalseString, true))
|
|
return false;
|
|
|
|
return .Err;
|
|
}
|
|
}
|
|
}
|