elsa-core/src/modules/Elsa.Expressions.JavaScript/ObjectConverters/ByteArrayConverter.cs
2025-05-20 12:52:19 +01:00

24 lines
642 B
C#

using System.Diagnostics.CodeAnalysis;
using Jint;
using Jint.Native;
using Jint.Runtime.Interop;
namespace Elsa.Expressions.JavaScript.ObjectConverters;
/// <summary>
/// Converts a byte array to a <see cref="JsValue"/> instance representing a Uint8Array.
/// </summary>
internal class ByteArrayConverter : IObjectConverter
{
public bool TryConvert(Engine engine, object value, [NotNullWhen(true)] out JsValue? result)
{
if (value is byte[] bytes)
{
result = engine.Intrinsics.ArrayBuffer.Construct(bytes);
return true;
}
result = JsValue.Null;
return false;
}
}