[][src]Trait nj_core::JSClass

pub trait JSClass: Sized {
    pub const CLASS_NAME: &'static str;

    pub fn create_from_js(
        js_env: &JsEnv,
        cb: napi_callback_info
    ) -> Result<(Self, JsCallback), NjError>;
pub fn set_constructor(constructor: napi_ref);
pub fn get_constructor() -> napi_ref; pub fn new_instance(
        js_env: &JsEnv,
        js_args: Vec<napi_value>
    ) -> Result<napi_value, NjError> { ... }
pub fn unwrap_mut(
        js_env: &JsEnv,
        instance: napi_value
    ) -> Result<&'static mut Self, NjError> { ... }
pub fn unwrap(
        js_env: &JsEnv,
        instance: napi_value
    ) -> Result<&'static Self, NjError> { ... }
pub fn properties() -> PropertiesBuilder { ... }
pub fn js_init(js_exports: &mut JsExports) -> Result<(), NjError> { ... }
pub extern "C" fn js_new(
        env: napi_env,
        info: napi_callback_info
    ) -> napi_value { ... }
pub extern "C" fn js_finalize(
        _env: napi_env,
        finalize_data: *mut c_void,
        _finalize_hint: *mut c_void
    ) { ... } }

Associated Constants

pub const CLASS_NAME: &'static str[src]

Loading content...

Required methods

pub fn create_from_js(
    js_env: &JsEnv,
    cb: napi_callback_info
) -> Result<(Self, JsCallback), NjError>
[src]

pub fn set_constructor(constructor: napi_ref)[src]

pub fn get_constructor() -> napi_ref[src]

Loading content...

Provided methods

pub fn new_instance(
    js_env: &JsEnv,
    js_args: Vec<napi_value>
) -> Result<napi_value, NjError>
[src]

new instance

pub fn unwrap_mut(
    js_env: &JsEnv,
    instance: napi_value
) -> Result<&'static mut Self, NjError>
[src]

given instance, return my object

pub fn unwrap(
    js_env: &JsEnv,
    instance: napi_value
) -> Result<&'static Self, NjError>
[src]

pub fn properties() -> PropertiesBuilder[src]

pub fn js_init(js_exports: &mut JsExports) -> Result<(), NjError>[src]

define class and properties under exports

pub extern "C" fn js_new(env: napi_env, info: napi_callback_info) -> napi_value[src]

call when Javascript class constructor is called For example: new Car(...)

pub extern "C" fn js_finalize(
    _env: napi_env,
    finalize_data: *mut c_void,
    _finalize_hint: *mut c_void
)
[src]

Loading content...

Implementors

Loading content...