elsa-core/src/modules/Elsa.Expressions.JavaScript/Activities/RunJavaScript/RunJavaScriptFunctionsDefinitionProvider.cs

33 lines
1.2 KiB
C#
Raw Normal View History

2025-05-20 11:52:19 +00:00
using Elsa.Expressions.JavaScript.TypeDefinitions.Abstractions;
using Elsa.Expressions.JavaScript.TypeDefinitions.Models;
using Elsa.Workflows.Helpers;
using JetBrains.Annotations;
// ReSharper disable once CheckNamespace
2025-05-20 11:52:19 +00:00
namespace Elsa.Expressions.JavaScript.Activities;
/// <summary>
/// Produces <see cref="FunctionDefinition"/>s for common functions.
/// </summary>
[UsedImplicitly]
internal class RunJavaScriptFunctionsDefinitionProvider : FunctionDefinitionProvider
{
protected override IEnumerable<FunctionDefinition> GetFunctionDefinitions(TypeDefinitionContext context)
{
if (context.ActivityTypeName != ActivityTypeNameHelper.GenerateTypeName<RunJavaScript>())
yield break;
if(context.PropertyName != nameof(RunJavaScript.Script))
yield break;
yield return CreateFunctionDefinition(builder => builder
.Name("setOutcome")
.Parameter("name", "string")
.ReturnType("void"));
yield return CreateFunctionDefinition(builder => builder
.Name("setOutcomes")
.Parameter("names", "string[]")
.ReturnType("void"));
}
}