MCPcopy Index your code
hub / github.com/nodejs/node-addon-api / WrapCallback

Function WrapCallback

napi-inl.h:92–116  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90inline napi_value WrapCallback(napi_env env, Callable callback) {
91#else
92inline napi_value WrapCallback(napi_env, Callable callback) {
93#endif
94#ifdef NODE_ADDON_API_CPP_EXCEPTIONS
95 try {
96 return callback();
97 } catch (const Error& e) {
98 e.ThrowAsJavaScriptException();
99 return nullptr;
100 }
101#ifdef NODE_ADDON_API_CPP_EXCEPTIONS_ALL
102 catch (const std::exception& e) {
103 Napi::Error::New(env, e.what()).ThrowAsJavaScriptException();
104 return nullptr;
105 } catch (...) {
106 Napi::Error::New(env, "A native exception was thrown")
107 .ThrowAsJavaScriptException();
108 return nullptr;
109 }
110#endif // NODE_ADDON_API_CPP_EXCEPTIONS_ALL
111#else // NODE_ADDON_API_CPP_EXCEPTIONS
112 // When C++ exceptions are disabled, errors are immediately thrown as JS
113 // exceptions, so there is no need to catch and rethrow them here.
114 return callback();
115#endif // NODE_ADDON_API_CPP_EXCEPTIONS
116}
117
118// For use in JS to C++ void callback wrappers to catch any Napi::Error
119// exceptions and rethrow them as JavaScript exceptions before returning from

Callers 15

WrapperMethod · 0.85
WrapperMethod · 0.85
TemplatedVoidCallbackFunction · 0.85
TemplatedCallbackFunction · 0.85
GetterWrapperMethod · 0.85
SetterWrapperMethod · 0.85
RegisterModuleFunction · 0.85

Calls 2

callbackFunction · 0.85

Tested by

no test coverage detected