protected override object ConvertValueToSet(Engine engine, object value)
 {
     // we expect value to be generally CLR type, convert when possible
     return(value switch
     {
         JsBoolean jsBoolean => jsBoolean._value ? JsBoolean.BoxedTrue : JsBoolean.BoxedFalse,
         JsString jsString => jsString.ToString(),
         JsNumber jsNumber => jsNumber._value,
         JsNull => null,
         JsUndefined => null,
         _ => value
     });
Beispiel #2
0
        public void JsValueCanBeCreated()
        {
            using (var rt = BaristaRuntimeFactory.CreateRuntime())
            {
                using (var ctx = rt.CreateContext())
                {
                    using (ctx.Scope())
                    {
                        var str         = "Test 123";
                        var valueHandle = rt.Engine.JsCreateString(str, (ulong)str.Length);

                        try
                        {
                            var jsValue = new JsString(rt.Engine, ctx, valueHandle);
                            Assert.Equal(str, jsValue.ToString());
                        }
                        finally
                        {
                            valueHandle.Dispose();
                        }
                    }
                }
            }
        }