diff --git a/src/modules/Elsa.JavaScript/Implementations/JintJavaScriptEvaluator.cs b/src/modules/Elsa.JavaScript/Implementations/JintJavaScriptEvaluator.cs index 9f89a334f..a1e64708a 100644 --- a/src/modules/Elsa.JavaScript/Implementations/JintJavaScriptEvaluator.cs +++ b/src/modules/Elsa.JavaScript/Implementations/JintJavaScriptEvaluator.cs @@ -1,4 +1,5 @@ -using Elsa.Expressions.Models; +using System.Text.Json; +using Elsa.Expressions.Models; using Elsa.Extensions; using Elsa.JavaScript.Notifications; using Elsa.JavaScript.Options; @@ -61,6 +62,7 @@ public class JintJavaScriptEvaluator : IJavaScriptEvaluator engine.SetValue("isNullOrWhiteSpace", (Func)string.IsNullOrWhiteSpace); engine.SetValue("isNullOrEmpty", (Func)string.IsNullOrEmpty); + engine.SetValue("toJson", (Func)(value => JsonSerializer.Serialize(value))); // Add common .NET types. engine.RegisterType(); diff --git a/src/modules/Elsa.JavaScript/Providers/CommonFunctionDefinitionProvider.cs b/src/modules/Elsa.JavaScript/Providers/CommonFunctionDefinitionProvider.cs index 3f96e6869..031f84bf5 100644 --- a/src/modules/Elsa.JavaScript/Providers/CommonFunctionDefinitionProvider.cs +++ b/src/modules/Elsa.JavaScript/Providers/CommonFunctionDefinitionProvider.cs @@ -41,6 +41,11 @@ internal class CommonFunctionDefinitionProvider : FunctionDefinitionProvider .Parameter("value", "string") .ReturnType("boolean")); + yield return CreateFunctionDefinition(builder => builder + .Name("toJson") + .Parameter("value", "any") + .ReturnType("string")); + // Variable getter and setters. foreach (var variable in context.Variables) {