Esempio n. 1
0
 /// <summary>
 /// Converts the specified <paramref name="value"/> to a <see cref="JSValue"/>.
 /// </summary>
 /// <param name="value">The value to convert.</param>
 /// <returns>
 /// A new <see cref="JSValue"/> whose value is equivalent to <paramref name="value"/>.
 /// </returns>
 /// <exception cref="InvalidCastException">
 /// This conversion is not supported.
 /// </exception>
 protected internal virtual JSValue ConvertClrObjectToJSValue(object value)
 {
     if (value is null)
     {
         return(JSValue.Null);
     }
     if (QuickJSValue.IsUndefined(value))
     {
         return(JSValue.Undefined);
     }
     if (value.GetType().IsPrimitive)
     {
     }
     throw new NotImplementedException();
 }
Esempio n. 2
0
 /// <summary>
 /// Converts the specified <paramref name="value"/> to a <see cref="JSValue"/>.
 /// </summary>
 /// <param name="value">The value to convert.</param>
 /// <returns>
 /// A new <see cref="JSValue"/> whose value is equivalent to <paramref name="value"/>.
 /// </returns>
 /// <exception cref="InvalidCastException">
 /// This conversion is not supported.
 /// </exception>
 protected internal virtual JSValue ConvertClrObjectToJSValue(object value)
 {
     if (value is null)
     {
         return(JSValue.Null);
     }
     if (QuickJSValue.IsUndefined(value))
     {
         return(JSValue.Undefined);
     }
     if (value.GetType().IsPrimitive)
     {
         if (value is bool bVal)
         {
             return(JSValue.Create(bVal));
         }
         if (value is double f64)
         {
             return(JSValue.Create(f64));
         }
         if (value is float f32)
         {
             return(JSValue.Create(f32));
         }
         if (value is int i32)
         {
             return(JSValue.Create(i32));
         }
         if (value is long i64)
         {
             return(JSValue.Create(i64));
         }
         if (value is byte i8)
         {
             return(JSValue.Create(i8));
         }
         if (value is short i16)
         {
             return(JSValue.Create(i16));
         }
         if (value is string s)
         {
             return(JSValue.Create(this.NativeInstance, s));
         }
         if (value is uint u32)
         {
             return(JSValue.Create(u32));
         }
         if (value is ulong u64)
         {
             return(JSValue.Create(u64));
         }
         if (value is uint u16)
         {
             return(JSValue.Create(u16));
         }
         if (value is uint u8)
         {
             return(JSValue.Create(u8));
         }
     }
     throw new NotImplementedException();
 }