[][src]Struct napi::Env

pub struct Env(_);

Implementations

impl Env[src]

pub fn from_raw(env: napi_env) -> Self[src]

pub fn get_undefined(&self) -> Result<JsUndefined>[src]

pub fn get_null(&self) -> Result<JsNull>[src]

pub fn get_boolean(&self, value: bool) -> Result<JsBoolean>[src]

pub fn create_int32(&self, int: i32) -> Result<JsNumber>[src]

pub fn create_int64(&self, int: i64) -> Result<JsNumber>[src]

pub fn create_uint32(&self, number: u32) -> Result<JsNumber>[src]

pub fn create_double(&self, double: f64) -> Result<JsNumber>[src]

pub fn create_string(&self, s: &str) -> Result<JsString>[src]

pub fn create_string_from_std(&self, s: String) -> Result<JsString>[src]

pub fn create_string_from_vec_u8(&self, bytes: Vec<u8>) -> Result<JsString>[src]

pub fn create_string_from_vec_i8(&self, bytes: Vec<i8>) -> Result<JsString>[src]

pub fn create_string_utf16(&self, chars: &[u16]) -> Result<JsString>[src]

pub fn create_string_latin1(&self, chars: &[u8]) -> Result<JsString>[src]

pub fn create_symbol_from_js_string(
    &self,
    description: JsString
) -> Result<JsSymbol>
[src]

pub fn create_symbol(&self, description: Option<&str>) -> Result<JsSymbol>[src]

pub fn create_object(&self) -> Result<JsObject>[src]

pub fn create_array_with_length(&self, length: usize) -> Result<JsObject>[src]

pub fn create_buffer(&self, length: u64) -> Result<JsBuffer>[src]

pub fn create_buffer_with_data(&self, data: Vec<u8>) -> Result<JsBuffer>[src]

pub fn create_arraybuffer(&self, length: u64) -> Result<JsArrayBuffer>[src]

pub fn create_arraybuffer_with_data(
    &self,
    data: Vec<u8>
) -> Result<JsArrayBuffer>
[src]

pub fn create_function(
    &self,
    name: &str,
    callback: Callback
) -> Result<JsFunction>
[src]

pub fn throw(&self, error: Error) -> Result<()>[src]

pub fn throw_error(&self, msg: &str) -> Result<()>[src]

pub fn create_reference<T: NapiValue>(&self, value: T) -> Result<Ref<T>>[src]

pub fn get_reference_value<T: NapiValue>(&self, reference: &Ref<T>) -> Result<T>[src]

pub fn define_class(
    &self,
    name: &str,
    constructor_cb: Callback,
    properties: &[Property<'_>]
) -> Result<JsFunction>
[src]

pub fn wrap<T: 'static>(
    &self,
    js_object: &mut JsObject,
    native_object: T
) -> Result<()>
[src]

pub fn unwrap<T: 'static>(&self, js_object: &JsObject) -> Result<&mut T>[src]

pub fn drop_wrapped<T: 'static>(&self, js_object: JsObject) -> Result<()>[src]

pub fn create_external<T: 'static>(
    &self,
    native_object: T
) -> Result<JsExternal>
[src]

pub fn get_value_external<T: 'static>(
    &self,
    js_external: &JsExternal
) -> Result<&mut T>
[src]

pub fn create_error(&self, e: Error) -> Result<JsObject>[src]

pub fn spawn<T: 'static + Task>(&self, task: T) -> Result<JsObject>[src]

pub fn get_global(&self) -> Result<JsObject>[src]

pub fn get_napi_version(&self) -> Result<u32>[src]

pub fn get_uv_event_loop(&self) -> Result<*mut uv_loop_s>[src]

pub fn execute<T: 'static + Send, V: 'static + NapiValue, F: 'static + Future<Output = Result<T>>, R: 'static + Send + Sync + FnOnce(&mut Env, T) -> Result<V>>(
    &self,
    deferred: F,
    resolver: R
) -> Result<JsObject>
[src]

pub fn execute_tokio_future<T: 'static + Send, V: 'static + NapiValue, F: 'static + Send + Future<Output = Result<T>>, R: 'static + Send + Sync + FnOnce(&mut Env, T) -> Result<V>>(
    &self,
    fut: F,
    resolver: R
) -> Result<JsObject>
[src]

pub fn to_js_value<T>(&self, node: &T) -> Result<JsUnknown> where
    T: Serialize
[src]

Serialize Rust Struct into JavaScript Value

#[derive(Serialize, Debug, Deserialize)]
struct AnObject {
 a: u32,
 b: Vec<f64>,
 c: String,
}

#[js_function]
fn serialize(ctx: CallContext) -> Result<JsUnknown> {
  let value = AnyObject { a: 1, b: vec![0.1, 2.22], c: "hello" };
  ctx.env.to_js_value(&value)
}

pub fn from_js_value<T: ?Sized, V>(&self, value: V) -> Result<T> where
    T: DeserializeOwned,
    V: NapiValue
[src]

Deserialize data from JsValue

#[derive(Serialize, Debug, Deserialize)]
struct AnObject {
 a: u32,
 b: Vec<f64>,
 c: String,
}

#[js_function(1)]
fn deserialize_from_js(ctx: CallContext) -> Result<JsUndefined> {
  let arg0 = ctx.get::<JsUnknown>(0)?;
  let de_serialized: AnObject = ctx.env.from_js_value(arg0)?;
  ...
}

pub fn strict_equals<A: NapiValue, B: NapiValue>(
    &self,
    a: A,
    b: B
) -> Result<bool>
[src]

pub fn get_node_version(&self) -> Result<NodeVersion>[src]

Trait Implementations

impl Clone for Env[src]

impl Copy for Env[src]

impl Debug for Env[src]

Auto Trait Implementations

impl RefUnwindSafe for Env

impl !Send for Env

impl !Sync for Env

impl Unpin for Env

impl UnwindSafe for Env

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.