Wrappers around node::MakeCallback()
providing a consistent API across all supported versions of Node.
Use MakeCallback()
rather than using v8::Function#Call()
directly in order to properly process internal Node functionality including domains, async hooks, the microtask queue, and other debugging functionality.
Signatures:
v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object> target,
v8::Local<v8::Function> func,
int argc,
v8::Local<v8::Value>* argv);
v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object> target,
v8::Local<v8::String> symbol,
int argc,
v8::Local<v8::Value>* argv);
v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object> target,
const char* method,
int argc,
v8::Local<v8::Value>* argv);
Used to define the entry point function to a Node add-on. Creates a function with a given name
that receives a target
object representing the equivalent of the JavaScript exports
object.
See example below.
A simple helper to register a v8::FunctionTemplate
from a JavaScript-accessible method (see Methods) as a property on an object. Can be used in a way similar to assigning properties to module.exports
in JavaScript.
Signature:
void Export(v8::Local<v8::Object> target, const char *name, Nan::FunctionCallback f)
Also available as the shortcut NAN_EXPORT
macro.
Example:
NAN_METHOD(Foo) {
...
}
NAN_MODULE_INIT(Init) {
NAN_EXPORT(target, Foo);
}