|
12 | 12 |
|
13 | 13 | #include <algorithm>
|
14 | 14 | #include <cstring>
|
15 |
| -#if defined(__EMSCRIPTEN_PTHREADS__) || defined(_REENTRANT) |
| 15 | +#if NAPI_HAS_THREADS |
16 | 16 | #include <mutex>
|
17 | 17 | #endif
|
18 | 18 | #include <type_traits>
|
@@ -203,7 +203,7 @@ struct FinalizeData {
|
203 | 203 | Hint* hint;
|
204 | 204 | };
|
205 | 205 |
|
206 |
| -#if (NAPI_VERSION > 3 && (defined(__EMSCRIPTEN_PTHREADS__) || defined(_REENTRANT))) |
| 206 | +#if (NAPI_VERSION > 3 && NAPI_HAS_THREADS) |
207 | 207 | template <typename ContextType = void,
|
208 | 208 | typename Finalizer = std::function<void(Env, void*, ContextType*)>,
|
209 | 209 | typename FinalizerDataType = void>
|
@@ -297,7 +297,7 @@ napi_value DefaultCallbackWrapper(napi_env env, Napi::Function cb) {
|
297 | 297 | return cb;
|
298 | 298 | }
|
299 | 299 | #endif // NAPI_VERSION > 4
|
300 |
| -#endif // NAPI_VERSION > 3 && (defined(__EMSCRIPTEN_PTHREADS__) || defined(_REENTRANT)) |
| 300 | +#endif // NAPI_VERSION > 3 && NAPI_HAS_THREADS |
301 | 301 |
|
302 | 302 | template <typename Getter, typename Setter>
|
303 | 303 | struct AccessorCallbackData {
|
@@ -331,9 +331,9 @@ struct AccessorCallbackData {
|
331 | 331 |
|
332 | 332 | } // namespace details
|
333 | 333 |
|
334 |
| -// #ifndef NODE_ADDON_API_DISABLE_DEPRECATED |
335 |
| -// #include "napi-inl.deprecated.h" |
336 |
| -// #endif // !NODE_ADDON_API_DISABLE_DEPRECATED |
| 334 | +#ifndef NODE_ADDON_API_DISABLE_DEPRECATED |
| 335 | +#include "napi-inl.deprecated.h" |
| 336 | +#endif // !NODE_ADDON_API_DISABLE_DEPRECATED |
337 | 337 |
|
338 | 338 | ////////////////////////////////////////////////////////////////////////////////
|
339 | 339 | // Module registration
|
@@ -1628,6 +1628,19 @@ inline MaybeOrValue<bool> Object::Seal() const {
|
1628 | 1628 | napi_status status = napi_object_seal(_env, _value);
|
1629 | 1629 | NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool);
|
1630 | 1630 | }
|
| 1631 | + |
| 1632 | +inline void Object::TypeTag(const napi_type_tag* type_tag) const { |
| 1633 | + napi_status status = napi_type_tag_object(_env, _value, type_tag); |
| 1634 | + NAPI_THROW_IF_FAILED_VOID(_env, status); |
| 1635 | +} |
| 1636 | + |
| 1637 | +inline bool Object::CheckTypeTag(const napi_type_tag* type_tag) const { |
| 1638 | + bool result; |
| 1639 | + napi_status status = |
| 1640 | + napi_check_object_type_tag(_env, _value, type_tag, &result); |
| 1641 | + NAPI_THROW_IF_FAILED(_env, status, false); |
| 1642 | + return result; |
| 1643 | +} |
1631 | 1644 | #endif // NAPI_VERSION >= 8
|
1632 | 1645 |
|
1633 | 1646 | ////////////////////////////////////////////////////////////////////////////////
|
@@ -4638,35 +4651,35 @@ inline Value EscapableHandleScope::Escape(napi_value escapee) {
|
4638 | 4651 | return Value(_env, result);
|
4639 | 4652 | }
|
4640 | 4653 |
|
4641 |
| -// #if (NAPI_VERSION > 2) |
4642 |
| -// //////////////////////////////////////////////////////////////////////////////// |
4643 |
| -// // CallbackScope class |
4644 |
| -// //////////////////////////////////////////////////////////////////////////////// |
| 4654 | +#if (NAPI_VERSION > 2 && !defined(__wasm__)) |
| 4655 | +//////////////////////////////////////////////////////////////////////////////// |
| 4656 | +// CallbackScope class |
| 4657 | +//////////////////////////////////////////////////////////////////////////////// |
4645 | 4658 |
|
4646 |
| -// inline CallbackScope::CallbackScope(napi_env env, napi_callback_scope scope) |
4647 |
| -// : _env(env), _scope(scope) {} |
| 4659 | +inline CallbackScope::CallbackScope(napi_env env, napi_callback_scope scope) |
| 4660 | + : _env(env), _scope(scope) {} |
4648 | 4661 |
|
4649 |
| -// inline CallbackScope::CallbackScope(napi_env env, napi_async_context context) |
4650 |
| -// : _env(env) { |
4651 |
| -// napi_status status = |
4652 |
| -// napi_open_callback_scope(_env, Object::New(env), context, &_scope); |
4653 |
| -// NAPI_THROW_IF_FAILED_VOID(_env, status); |
4654 |
| -// } |
| 4662 | +inline CallbackScope::CallbackScope(napi_env env, napi_async_context context) |
| 4663 | + : _env(env) { |
| 4664 | + napi_status status = |
| 4665 | + napi_open_callback_scope(_env, Object::New(env), context, &_scope); |
| 4666 | + NAPI_THROW_IF_FAILED_VOID(_env, status); |
| 4667 | +} |
4655 | 4668 |
|
4656 |
| -// inline CallbackScope::~CallbackScope() { |
4657 |
| -// napi_status status = napi_close_callback_scope(_env, _scope); |
4658 |
| -// NAPI_FATAL_IF_FAILED( |
4659 |
| -// status, "CallbackScope::~CallbackScope", "napi_close_callback_scope"); |
4660 |
| -// } |
| 4669 | +inline CallbackScope::~CallbackScope() { |
| 4670 | + napi_status status = napi_close_callback_scope(_env, _scope); |
| 4671 | + NAPI_FATAL_IF_FAILED( |
| 4672 | + status, "CallbackScope::~CallbackScope", "napi_close_callback_scope"); |
| 4673 | +} |
4661 | 4674 |
|
4662 |
| -// inline CallbackScope::operator napi_callback_scope() const { |
4663 |
| -// return _scope; |
4664 |
| -// } |
| 4675 | +inline CallbackScope::operator napi_callback_scope() const { |
| 4676 | + return _scope; |
| 4677 | +} |
4665 | 4678 |
|
4666 |
| -// inline Napi::Env CallbackScope::Env() const { |
4667 |
| -// return Napi::Env(_env); |
4668 |
| -// } |
4669 |
| -// #endif |
| 4679 | +inline Napi::Env CallbackScope::Env() const { |
| 4680 | + return Napi::Env(_env); |
| 4681 | +} |
| 4682 | +#endif |
4670 | 4683 |
|
4671 | 4684 | ////////////////////////////////////////////////////////////////////////////////
|
4672 | 4685 | // AsyncContext class
|
@@ -4722,6 +4735,8 @@ inline Napi::Env AsyncContext::Env() const {
|
4722 | 4735 | // AsyncWorker class
|
4723 | 4736 | ////////////////////////////////////////////////////////////////////////////////
|
4724 | 4737 |
|
| 4738 | +#if NAPI_HAS_THREADS |
| 4739 | + |
4725 | 4740 | inline AsyncWorker::AsyncWorker(const Function& callback)
|
4726 | 4741 | : AsyncWorker(callback, "generic") {}
|
4727 | 4742 |
|
@@ -4803,29 +4818,6 @@ inline void AsyncWorker::Destroy() {
|
4803 | 4818 | delete this;
|
4804 | 4819 | }
|
4805 | 4820 |
|
4806 |
| -inline AsyncWorker::AsyncWorker(AsyncWorker&& other) { |
4807 |
| - _env = other._env; |
4808 |
| - other._env = nullptr; |
4809 |
| - _work = other._work; |
4810 |
| - other._work = nullptr; |
4811 |
| - _receiver = std::move(other._receiver); |
4812 |
| - _callback = std::move(other._callback); |
4813 |
| - _error = std::move(other._error); |
4814 |
| - _suppress_destruct = other._suppress_destruct; |
4815 |
| -} |
4816 |
| - |
4817 |
| -inline AsyncWorker& AsyncWorker::operator=(AsyncWorker&& other) { |
4818 |
| - _env = other._env; |
4819 |
| - other._env = nullptr; |
4820 |
| - _work = other._work; |
4821 |
| - other._work = nullptr; |
4822 |
| - _receiver = std::move(other._receiver); |
4823 |
| - _callback = std::move(other._callback); |
4824 |
| - _error = std::move(other._error); |
4825 |
| - _suppress_destruct = other._suppress_destruct; |
4826 |
| - return *this; |
4827 |
| -} |
4828 |
| - |
4829 | 4821 | inline AsyncWorker::operator napi_async_work() const {
|
4830 | 4822 | return _work;
|
4831 | 4823 | }
|
@@ -4923,7 +4915,9 @@ inline void AsyncWorker::OnWorkComplete(Napi::Env /*env*/, napi_status status) {
|
4923 | 4915 | }
|
4924 | 4916 | }
|
4925 | 4917 |
|
4926 |
| -#if (NAPI_VERSION > 3 && (defined(__EMSCRIPTEN_PTHREADS__) || defined(_REENTRANT))) |
| 4918 | +#endif // NAPI_HAS_THREADS |
| 4919 | + |
| 4920 | +#if (NAPI_VERSION > 3 && NAPI_HAS_THREADS) |
4927 | 4921 | ////////////////////////////////////////////////////////////////////////////////
|
4928 | 4922 | // TypedThreadSafeFunction<ContextType,DataType,CallJs> class
|
4929 | 4923 | ////////////////////////////////////////////////////////////////////////////////
|
@@ -6172,7 +6166,7 @@ inline void AsyncProgressQueueWorker<T>::ExecutionProgress::Send(
|
6172 | 6166 | const T* data, size_t count) const {
|
6173 | 6167 | _worker->SendProgress_(data, count);
|
6174 | 6168 | }
|
6175 |
| -#endif // NAPI_VERSION > 3 && (defined(__EMSCRIPTEN_PTHREADS__) || defined(_REENTRANT)) |
| 6169 | +#endif // NAPI_VERSION > 3 && NAPI_HAS_THREADS |
6176 | 6170 |
|
6177 | 6171 | ////////////////////////////////////////////////////////////////////////////////
|
6178 | 6172 | // Memory Management class
|
|
0 commit comments