Skip to content

Commit

Permalink
add env to finalizer
Browse files Browse the repository at this point in the history
  • Loading branch information
Gabriel Schulhof committed Apr 13, 2020
1 parent 7db12f7 commit 131e252
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
6 changes: 3 additions & 3 deletions napi-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -326,8 +326,8 @@ inline Value Env::RunScript(String script) {
template <typename T, Env::Finalizer<T> fini>
inline void Env::SetInstanceData(T* data) {
napi_status status =
napi_set_instance_data(_env, data, [](napi_env, void* data, void*) {
fini(static_cast<T*>(data));
napi_set_instance_data(_env, data, [](napi_env env, void* data, void*) {
fini(env, static_cast<T*>(data));
}, nullptr);
NAPI_THROW_IF_FAILED_VOID(_env, status);
}
Expand All @@ -342,7 +342,7 @@ inline T* Env::GetInstanceData() {
return static_cast<T*>(data);
}

template <typename T> void Env::DefaultFini(T* data) {
template <typename T> void Env::DefaultFini(Env, T* data) {
delete data;
}
#endif // NAPI_VERSION > 5
Expand Down
9 changes: 6 additions & 3 deletions napi.h
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,9 @@ namespace Napi {
class Env {
#if NAPI_VERSION > 5
private:
template <typename T> static void DefaultFini(T* data);
template <typename T> static void DefaultFini(Env, T* data);
template <typename DataType, typename HintType>
static void DefaultFiniWithHint(Env, DataType* data, HintType* hint);
#endif // NAPI_VERSION > 5
public:
Env(napi_env env);
Expand All @@ -193,10 +195,11 @@ namespace Napi {
Value RunScript(String script);

#if NAPI_VERSION > 5
template <typename T> using Finalizer = void (*)(T*);
template <typename T> T* GetInstanceData();

template <typename T> using Finalizer = void (*)(Env, T*);
template <typename T, Finalizer<T> fini = Env::DefaultFini<T>>
void SetInstanceData(T* data);
template <typename T> T* GetInstanceData();
#endif // NAPI_VERSION > 5

private:
Expand Down

0 comments on commit 131e252

Please sign in to comment.