Trait JSValue

Source
pub trait JSValue<'a>: Sized {
    // Required method
    fn convert_to_rust(
        env: &'a JsEnv,
        js_value: *mut napi_value__,
    ) -> Result<Self, NjError>;

    // Provided method
    fn label() -> &'static str { ... }
}
Expand description

Convert napi value to Rust value

Required Methods§

Source

fn convert_to_rust( env: &'a JsEnv, js_value: *mut napi_value__, ) -> Result<Self, NjError>

Provided Methods§

Source

fn label() -> &'static str

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 JSValue<'_> for bool

Source§

impl JSValue<'_> for f64

Source§

impl JSValue<'_> for i32

Source§

impl JSValue<'_> for i64

Source§

impl JSValue<'_> for u32

Source§

impl JSValue<'_> for String

Source§

impl<'a> JSValue<'a> for &'a str

Source§

fn convert_to_rust( env: &'a JsEnv, js_value: *mut napi_value__, ) -> Result<&'a str, NjError>

Source§

impl<'a> JSValue<'a> for &'a [u8]

Source§

fn convert_to_rust( env: &'a JsEnv, js_value: *mut napi_value__, ) -> Result<&'a [u8], NjError>

Source§

impl<'a, T0> JSValue<'a> for (T0,)
where T0: JSValue<'a> + Send,

Source§

impl<'a, T0, T1> JSValue<'a> for (T0, T1)
where T0: JSValue<'a> + Send, T1: JSValue<'a> + Send,

Source§

impl<'a, T0, T1, T2> JSValue<'a> for (T0, T1, T2)
where T0: JSValue<'a> + Send, T1: JSValue<'a> + Send, T2: JSValue<'a> + Send,

Source§

impl<'a, T0, T1, T2, T3> JSValue<'a> for (T0, T1, T2, T3)
where T0: JSValue<'a> + Send, T1: JSValue<'a> + Send, T2: JSValue<'a> + Send, T3: JSValue<'a> + Send,

Source§

impl<'a, T0, T1, T2, T3, T4> JSValue<'a> for (T0, T1, T2, T3, T4)
where T0: JSValue<'a> + Send, T1: JSValue<'a> + Send, T2: JSValue<'a> + Send, T3: JSValue<'a> + Send, T4: JSValue<'a> + Send,

Source§

impl<'a, T0, T1, T2, T3, T4, T5> JSValue<'a> for (T0, T1, T2, T3, T4, T5)
where T0: JSValue<'a> + Send, T1: JSValue<'a> + Send, T2: JSValue<'a> + Send, T3: JSValue<'a> + Send, T4: JSValue<'a> + Send, T5: JSValue<'a> + Send,

Source§

impl<'a, T0, T1, T2, T3, T4, T5, T6> JSValue<'a> for (T0, T1, T2, T3, T4, T5, T6)
where T0: JSValue<'a> + Send, T1: JSValue<'a> + Send, T2: JSValue<'a> + Send, T3: JSValue<'a> + Send, T4: JSValue<'a> + Send, T5: JSValue<'a> + Send, T6: JSValue<'a> + Send,

Source§

impl<'a, T0, T1, T2, T3, T4, T5, T6, T7> JSValue<'a> for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: JSValue<'a> + Send, T1: JSValue<'a> + Send, T2: JSValue<'a> + Send, T3: JSValue<'a> + Send, T4: JSValue<'a> + Send, T5: JSValue<'a> + Send, T6: JSValue<'a> + Send, T7: JSValue<'a> + Send,

Source§

impl<'a, T0, T1, T2, T3, T4, T5, T6, T7, T8> JSValue<'a> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where T0: JSValue<'a> + Send, T1: JSValue<'a> + Send, T2: JSValue<'a> + Send, T3: JSValue<'a> + Send, T4: JSValue<'a> + Send, T5: JSValue<'a> + Send, T6: JSValue<'a> + Send, T7: JSValue<'a> + Send, T8: JSValue<'a> + Send,

Source§

impl<'a, T> JSValue<'a> for Vec<T>
where T: JSValue<'a>,

Implementors§