| 7144 | #ifdef NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER |
| 7145 | template <typename FinalizerType> |
| 7146 | inline void BasicEnv::PostFinalizer(FinalizerType finalizeCallback) const { |
| 7147 | using T = void*; |
| 7148 | details::FinalizeData<T, FinalizerType>* finalizeData = |
| 7149 | new details::FinalizeData<T, FinalizerType>( |
| 7150 | {std::move(finalizeCallback), nullptr}); |
| 7151 | |
| 7152 | napi_status status = node_api_post_finalizer( |
| 7153 | _env, |
| 7154 | details::FinalizeData<T, FinalizerType>::WrapperGCWithoutData, |
| 7155 | static_cast<void*>(nullptr), |
| 7156 | finalizeData); |
| 7157 | if (status != napi_ok) { |
| 7158 | delete finalizeData; |
| 7159 | NAPI_FATAL_IF_FAILED( |
| 7160 | status, "BasicEnv::PostFinalizer", "invalid arguments"); |
| 7161 | } |
| 7162 | } |
| 7163 | |
| 7164 | template <typename FinalizerType, typename T> |
| 7165 | inline void BasicEnv::PostFinalizer(FinalizerType finalizeCallback, |
no outgoing calls