Skip to content

Instantly share code, notes, and snippets.

@mgeeky
Forked from NickNaso/binding.gyp
Created November 21, 2024 20:55
Show Gist options
  • Save mgeeky/71bf71eb46091cad512c07604840976f to your computer and use it in GitHub Desktop.
Save mgeeky/71bf71eb46091cad512c07604840976f to your computer and use it in GitHub Desktop.
N-API register module (the new way)
{
"targets": [
{
"target_name": "hello",
"sources": [ "hello.cc" ]
}
]
}
'use strict'
const addon = require('bindings')('hello');
console.log(addon.hello()); // 'world'
#include <assert.h>
#include <node_api.h>
napi_value Method(napi_env env, napi_callback_info info) {
napi_status status;
napi_value world;
status = napi_create_string_utf8(env, "world", 5, &world);
assert(status == napi_ok);
return world;
}
#define DECLARE_NAPI_METHOD(name, func) \
{ name, 0, func, 0, 0, 0, napi_default, 0 }
extern "C" {
napi_value napi_register_module_v1(napi_env env, napi_value exports) {
napi_status status;
napi_property_descriptor desc = DECLARE_NAPI_METHOD("hello", Method);
status = napi_define_properties(env, exports, 1, &desc);
assert(status == napi_ok);
return exports;
}
}
//NAPI_MODULE(NODE_GYP_MODULE_NAME, Init)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment