elsa-core/src/modules/Elsa.Expressions/DelegateExpressionHandler.cs

17 lines
599 B
C#
Raw Normal View History

2023-07-31 18:27:28 +00:00
using Elsa.Expressions.Contracts;
using Elsa.Expressions.Models;
namespace Elsa.Expressions;
/// <summary>
/// An expression handler for Delegate expressions.
2023-07-31 18:27:28 +00:00
/// </summary>
public class DelegateExpressionHandler : IExpressionHandler
{
/// <inheritdoc />
public async ValueTask<object?> EvaluateAsync(Expression expression, Type returnType, ExpressionExecutionContext context, ExpressionEvaluatorOptions options)
2023-07-31 18:27:28 +00:00
{
var value = expression.Value is Func<ExpressionExecutionContext, ValueTask<object?>> @delegate ? await @delegate(context) : default;
2023-07-31 18:27:28 +00:00
return value;
}
}