return enumerable if it is assignable from the desiredtype (#1669)

Co-authored-by: Martin <mp@prakom.net>
This commit is contained in:
noxe 2021-10-25 13:47:07 +02:00 committed by GitHub
parent 1ecc6452a0
commit 21ff1c7c83
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -9,7 +9,7 @@ namespace Elsa.Scripting.JavaScript.Services
public class EnumerableResultConverter : IConvertsJintEvaluationResult, IConvertsEnumerableToObject
{
private readonly IConvertsJintEvaluationResult? _wrapped;
public EnumerableResultConverter(IConvertsJintEvaluationResult? wrapped) => _wrapped = wrapped;
public object? ConvertToDesiredType(object? evaluationResult, Type desiredType)
@ -25,6 +25,7 @@ namespace Elsa.Scripting.JavaScript.Services
if (enumerable is string) return enumerable;
if (enumerable is JObject) return enumerable;
if (enumerable is byte[]) return enumerable;
if (enumerable != null && desiredType != null && desiredType.IsAssignableFrom(enumerable.GetType())) return enumerable;
var destinationType = GetDestinationType(desiredType);
var json = JsonConvert.SerializeObject(enumerable);