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

Implementations on Foreign Types§

source§

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

source§

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

source§

impl ToJsValue for ()

source§

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

source§

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

source§

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

source§

impl ToJsValue for u32

source§

impl ToJsValue for char

source§

impl ToJsValue for bool

source§

impl ToJsValue for f64

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, T6: ToJsValue, T7: ToJsValue, T8: ToJsValue, T9: ToJsValue> ToJsValue for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

source§

impl ToJsValue for f32

source§

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

source§

impl<'a> ToJsValue for &'a str

source§

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

source§

impl ToJsValue for i32

source§

impl ToJsValue for u16

source§

impl ToJsValue for u8

source§

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

source§

impl ToJsValue for u64

source§

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

source§

impl ToJsValue for i16

source§

impl ToJsValue for i8

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 ToJsValue for i64

source§

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

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> ToJsValue for (T0, T1, T2, T3)

source§

impl ToJsValue for String

source§

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

source§

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

Implementors§