diff --git a/doc/class_property_descriptor.md b/doc/class_property_descriptor.md index a0ac0d3..e5035c1 100644 --- a/doc/class_property_descriptor.md +++ b/doc/class_property_descriptor.md @@ -17,7 +17,6 @@ class Example : public Napi::ObjectWrap { Example(const Napi::CallbackInfo &info); private: - static Napi::FunctionReference constructor; double _value; Napi::Value GetValue(const Napi::CallbackInfo &info); void SetValue(const Napi::CallbackInfo &info, const Napi::Value &value); @@ -31,8 +30,9 @@ Napi::Object Example::Init(Napi::Env env, Napi::Object exports) { InstanceAccessor<&Example::GetValue>("readOnlyProp") }); - constructor = Napi::Persistent(func); - constructor.SuppressDestruct(); + Napi::FunctionReference *constructor = new Napi::FunctionReference(); + *constructor = Napi::Persistent(func); + env.SetInstanceData(constructor); exports.Set("Example", func); return exports; @@ -45,8 +45,6 @@ Example::Example(const Napi::CallbackInfo &info) : Napi::ObjectWrap(inf this->_value = value.DoubleValue(); } -Napi::FunctionReference Example::constructor; - Napi::Value Example::GetValue(const Napi::CallbackInfo &info) { Napi::Env env = info.Env(); return Napi::Number::New(env, this->_value);