Files
runner/src/Sdk/Expressions/Data/BooleanExpressionData.cs
2025-11-07 20:18:52 +00:00

59 lines
1.3 KiB
C#

using System;
using System.Runtime.Serialization;
using GitHub.Actions.Expressions.Sdk;
using Newtonsoft.Json.Linq;
namespace GitHub.Actions.Expressions.Data
{
[DataContract]
public sealed class BooleanExpressionData : ExpressionData, IBoolean
{
public BooleanExpressionData(Boolean value)
: base(ExpressionDataType.Boolean)
{
m_value = value;
}
public Boolean Value
{
get
{
return m_value;
}
}
public override ExpressionData Clone()
{
return new BooleanExpressionData(m_value);
}
public override JToken ToJToken()
{
return (JToken)m_value;
}
public override String ToString()
{
return m_value ? "true" : "false";
}
Boolean IBoolean.GetBoolean()
{
return Value;
}
public static implicit operator Boolean(BooleanExpressionData data)
{
return data.Value;
}
public static implicit operator BooleanExpressionData(Boolean data)
{
return new BooleanExpressionData(data);
}
[DataMember(Name = "b", EmitDefaultValue = false)]
private Boolean m_value;
}
}