Skip to content

Instantly share code, notes, and snippets.

@anshulrgoyal
Created April 14, 2020 13:42
Show Gist options
  • Save anshulrgoyal/c29e5e00e1ea538e5b8824a134437567 to your computer and use it in GitHub Desktop.
Save anshulrgoyal/c29e5e00e1ea538e5b8824a134437567 to your computer and use it in GitHub Desktop.
Basic NAPI example
use nodejs_sys::{napi_env, napi_value, napi_create_string_utf8, napi_set_named_property};
use std::ffi::CString;
#[no_mangle]
pub unsafe extern "C" fn napi_register_module_v1(
env: napi_env,
m: napi_value,
) -> nodejs_sys::napi_value {
let key = CString::new("hello").expect("CString::new failed");
let mut local: napi_value = std::mem::zeroed();
let value= CString::new("world!").expect("CString::new failed");
napi_create_string_utf8(env, value.as_ptr(), 5, &mut local);
napi_set_named_property(env,m, key.as_ptr(), local);
m
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment