0

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));

0 Answers0