2025-05-20 11:52:19 +00:00
|
|
|
using Elsa.Expressions.JavaScript.TypeDefinitions.Abstractions;
|
|
|
|
|
using Elsa.Expressions.JavaScript.TypeDefinitions.Models;
|
2025-05-20 11:38:24 +00:00
|
|
|
using Elsa.Workflows.Helpers;
|
|
|
|
|
using JetBrains.Annotations;
|
|
|
|
|
|
|
|
|
|
// ReSharper disable once CheckNamespace
|
2025-05-20 11:52:19 +00:00
|
|
|
namespace Elsa.Expressions.JavaScript.Activities;
|
2025-05-20 11:38:24 +00:00
|
|
|
|
|
|
|
|
/// <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"));
|
|
|
|
|
}
|
|
|
|
|
}
|