I'm working with node-addon-api. My code:
class Cronjob : public Napi::ObjectWrap<Cronjob> {
private:
Napi::Value wait(const Napi::CallbackInfo& info);
Napi::Value time;
public:
static Napi::Object Init(Napi::Env env, Napi::Object exports);
Cronjob(const Napi::CallbackInfo& info);
static Napi::Value CreateNewItem(const Napi::CallbackInfo& info);
};
Napi::Object Cronjob::Init(Napi::Env env, Napi::Object exports)
{
auto methods = {
Napi::ObjectWrap<Cronjob>::InstanceMethod("wait", &Cronjob::wait),
//...
};
Napi::Function func = Napi::ObjectWrap<Cronjob>::DefineClass(env, "Cronjob", methods);
Napi::FunctionReference* constructor = new Napi::FunctionReference();
*constructor = Napi::Persistent(func);
exports.Set("Cronjob", func);
env.SetInstanceData<Napi::FunctionReference>(constructor);
return exports;
}
I cannot set value with reference to like this:
Napi::ObjectWrap<Cronjob>::InstanceValue("time", &Cronjob::time);
Is there another way to reference C++ variable to Nodejs class property? I just stuck there.
I try several way to reference:
Napi::ObjectWrap<Cronjob>::InstanceValue("time", Napi::Value::From(env, &Cronjob::time));