Trait ToJsValue

Source
pub trait ToJsValue: Sized {
    type ReturnAbi: ReturnWasmAbi + IntoWasmAbi;

    // Required methods
    fn to_js_value(&self) -> JsValue;
    fn into_return_abi(self) -> Result<Self::ReturnAbi, JsValue>;

    // Provided methods
    fn number_of_args() -> u32 { ... }
    fn to_function_args(&self) -> Array { ... }
    fn create_array_of_size(size: u32) -> JsValue { ... }
}

Required Associated Types§

Required Methods§

Source

fn to_js_value(&self) -> JsValue

Source

fn into_return_abi(self) -> Result<Self::ReturnAbi, JsValue>

When this is returned from a closure

Provided Methods§

Source

fn number_of_args() -> u32

Number of function arguments when this type is used as a function input type

Source

fn to_function_args(&self) -> Array

Convert to function arguments when calling a function with this value

Source

fn create_array_of_size(size: u32) -> JsValue

When converting Vec to JsValue, create array or Int32Array for example

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl ToJsValue for bool

Source§

impl ToJsValue for char

Source§

impl ToJsValue for f32

Source§

impl ToJsValue for f64

Source§

impl ToJsValue for i8

Source§

impl ToJsValue for i16

Source§

impl ToJsValue for i32

Source§

impl ToJsValue for i64

Source§

impl ToJsValue for u8

Source§

impl ToJsValue for u16

Source§

impl ToJsValue for u32

Source§

impl ToJsValue for u64

Source§

impl ToJsValue for ()

Source§

impl ToJsValue for String

Source§

impl ToJsValue for JsValue

Source§

impl<'a> ToJsValue for &'a str

Source§

impl<'a, T: ToJsValue> ToJsValue for &'a [T]

Source§

impl<'a, T: ToJsValue> ToJsValue for &'a T

Source§

impl<T0: ToJsValue, T1: ToJsValue> ToJsValue for (T0, T1)

Source§

impl<T0: ToJsValue, T1: ToJsValue, T2: ToJsValue> ToJsValue for (T0, T1, T2)

Source§

impl<T0: ToJsValue, T1: ToJsValue, T2: ToJsValue, T3: ToJsValue> ToJsValue for (T0, T1, T2, T3)

Source§

impl<T0: ToJsValue, T1: ToJsValue, T2: ToJsValue, T3: ToJsValue, T4: ToJsValue> ToJsValue for (T0, T1, T2, T3, T4)

Source§

impl<T0: ToJsValue, T1: ToJsValue, T2: ToJsValue, T3: ToJsValue, T4: ToJsValue, T5: ToJsValue> ToJsValue for (T0, T1, T2, T3, T4, T5)

Source§

impl<T0: ToJsValue, T1: ToJsValue, T2: ToJsValue, T3: ToJsValue, T4: ToJsValue, T5: ToJsValue, T6: ToJsValue> ToJsValue for (T0, T1, T2, T3, T4, T5, T6)

Source§

impl<T0: ToJsValue, T1: ToJsValue, T2: ToJsValue, T3: ToJsValue, T4: ToJsValue, T5: ToJsValue, T6: ToJsValue, T7: ToJsValue> ToJsValue for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

impl<T: ToJsValue> ToJsValue for Option<T>

Source§

impl<T: ToJsValue> ToJsValue for (T,)

Source§

impl<T: ToJsValue> ToJsValue for Vec<T>

Source§

impl<T: ToJsValue, E: ToJsValue> ToJsValue for Result<T, E>

Implementors§