1#include "node.h" 2#include "v8.h" 3 4#include <assert.h> 5 6using v8::Function; 7using v8::FunctionCallbackInfo; 8using v8::Isolate; 9using v8::Local; 10using v8::Object; 11using v8::Value; 12 13namespace { 14 15void MakeCallback(const FunctionCallbackInfo<Value>& args) { 16 assert(args[0]->IsObject()); 17 assert(args[1]->IsFunction()); 18 Isolate* isolate = args.GetIsolate(); 19 Local<Object> recv = args[0].As<Object>(); 20 Local<Function> method = args[1].As<Function>(); 21 22 node::MakeCallback(isolate, recv, method, 0, nullptr, 23 node::async_context{0, 0}); 24} 25 26void Initialize(Local<Object> exports) { 27 NODE_SET_METHOD(exports, "makeCallback", MakeCallback); 28} 29 30} // anonymous namespace 31 32NODE_MODULE(NODE_GYP_MODULE_NAME, Initialize) 33