From a4c0c57d124e83dcc188e6cd6a98f410efb507ff Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sun, 25 Oct 2020 21:50:40 +0100 Subject: [PATCH] Initialize target type in case of array value and target type wasn't specified --- .../Services/JavaScriptExpressionEvaluator.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/scripting/Elsa.Scripting.JavaScript/Services/JavaScriptExpressionEvaluator.cs b/src/scripting/Elsa.Scripting.JavaScript/Services/JavaScriptExpressionEvaluator.cs index e77ff12e5..829b813ab 100644 --- a/src/scripting/Elsa.Scripting.JavaScript/Services/JavaScriptExpressionEvaluator.cs +++ b/src/scripting/Elsa.Scripting.JavaScript/Services/JavaScriptExpressionEvaluator.cs @@ -74,7 +74,7 @@ namespace Elsa.Scripting.JavaScript.Services return default; var targetIsObject = targetType == typeof(object); - + if (value.IsBoolean()) return value.AsBoolean(); @@ -99,6 +99,9 @@ namespace Elsa.Scripting.JavaScript.Services if (value.IsArray()) { + if (targetType == null) + targetType = typeof(object[]); + var arrayInstance = value.AsArray(); var elementType = targetType?.GetElementType() ?? targetType?.GenericTypeArguments?.First() ?? typeof(object); @@ -109,7 +112,7 @@ namespace Elsa.Scripting.JavaScript.Services for (uint i = 0; i < arrayInstance.Length; i++) { var jsValue = arrayInstance[i]; - bytes[i] = (byte) jsValue.AsNumber(); + bytes[i] = (byte)jsValue.AsNumber(); } return bytes;