Improve JS value converter to support object target type

This commit is contained in:
Sipke Schoorstra 2020-02-20 21:24:27 +01:00
parent a9a4f78459
commit 8ec43230a7

View file

@ -76,13 +76,15 @@ namespace Elsa.Scripting.JavaScript.Services
if (value.IsNull())
return default;
if (targetType == typeof(bool) && value.IsBoolean())
var targetIsObject = targetType == typeof(object);
if (value.IsBoolean())
return value.AsBoolean();
if (targetType == typeof(DateTime) && value.IsDate())
if ((targetIsObject || targetType == typeof(DateTime)) && value.IsDate())
return value.AsDate().ToDateTime();
if (targetType.IsNumeric() && value.IsNumber())
if ((targetIsObject || targetType.IsNumeric()) && value.IsNumber())
return Convert.ChangeType(value.AsNumber(), targetType);
if (targetType == typeof(string))