[][src]Trait node_bindgen::core::JSClass

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

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

Associated Constants

const CLASS_NAME: &'static str

Loading content...

Required methods

Loading content...

Provided methods

fn new_instance(
    js_env: &JsEnv,
    js_args: Vec<*mut napi_value__>
) -> Result<*mut napi_value__, NjError>

new instance

fn unwrap_mut(
    js_env: &JsEnv,
    instance: *mut napi_value__
) -> Result<&'static mut Self, NjError>

given instance, return my object

fn unwrap(
    js_env: &JsEnv,
    instance: *mut napi_value__
) -> Result<&'static Self, NjError>

fn properties() -> PropertiesBuilder

fn js_init(js_exports: &mut JsExports) -> Result<(), NjError>

define class and properties under exports

extern "C" fn js_new(
    env: *mut napi_env__,
    info: *mut napi_callback_info__
) -> *mut napi_value__

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

extern "C" fn js_finalize(
    _env: *mut napi_env__,
    finalize_data: *mut c_void,
    _finalize_hint: *mut c_void
)

Loading content...

Implementors

Loading content...