230531.1 · 0f1f04f81a9b9a226abc9a5cdaadf5d637431c34
Add support for V8 and adopt the API changes (#2)
reading declarations
Changes to src/ApiLoaders/NodeApi.cpp. All files
@@ -0,0 +1,41 @@+// Copyright (c) Microsoft Corporation.+// Licensed under the MIT License.++#include "NodeApi.h"++namespace Microsoft::NodeApiJsi {++namespace {++struct NodeApiNames {+#define NODE_API_FUNC(func) static constexpr const char func[] = #func;+#include "NodeApi.inc"+};++} // namespace++LibFuncResolver::LibFuncResolver(const char *libName) : libHandle_(LibLoader::loadLib(libName)) {}++FuncPtr LibFuncResolver::getFuncPtr(const char *funcName) {+ return LibLoader::getFuncPtr(libHandle_, funcName);+}++DelayLoadedApi::DelayLoadedApi(IFuncResolver *funcResolver) : funcResolver_(funcResolver) {}++DelayLoadedApi::~DelayLoadedApi() = default;++FuncPtr DelayLoadedApi::getFuncPtr(const char *funcName) {+ return funcResolver_->getFuncPtr(funcName);+}++thread_local NodeApi *NodeApi::current_{};++NodeApi::NodeApi(IFuncResolver *funcResolver)+ : DelayLoadedApi(funcResolver)+#define NODE_API_FUNC(func) \+ , func(&ApiFuncResolver<NodeApi, decltype(::func) *, NodeApiNames::func, offsetof(NodeApi, func)>::stub)+#include "NodeApi.inc"+{+}++} // namespace Microsoft::NodeApiJsi