Do we need `wrapper_`?
gabrielschulhof opened this issue · comments
In our ObjectWrap N-API examples we store the napi_ref
returned from napi_wrap()
in the native object instance although we never use it. To napi_delete_reference()
in the destructor we need to also store the napi_env
on the native instance – a practice we discourage.
Do we do this for illustration purposes? Can we remove this, since wrapper_
is not being used anywhere?
This is the extent to which we use wrapper_
and env_
:
node-addon-examples/6_object_wrap/napi/myobject.cc
Lines 6 to 11 in dc86a66
and
node-addon-examples/6_object_wrap/napi/myobject.cc
Lines 72 to 78 in dc86a66
Compare with the Nan implementation. The use of the persistent reference may stem from there. If so, it may be a good time to diverge, especially since we document that we discourage storing the napi_env
.
In fact, none of the Nan examples store a persistent reference to the JS instance. We should remove it.