current commit
230531.1 · Add support for V8 and adopt the API changes (#2)
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

#include "V8Api.h"

namespace Microsoft::NodeApiJsi {

namespace {

struct V8ApiNames {
#define V8_FUNC(func) static constexpr const char func[] = #func;
#include "V8Api.inc"
};

} // namespace

thread_local V8Api *V8Api::current_{};

V8Api::V8Api(IFuncResolver *funcResolver)
    : JSRuntimeApi(funcResolver)
#define V8_FUNC(func) , func(&ApiFuncResolver<V8Api, decltype(::func) *, V8ApiNames::func, offsetof(V8Api, func)>::stub)
#include "V8Api.inc"
{
}

V8Api *V8Api::fromLib() {
  static LibFuncResolver funcResolver("v8jsi");
  static V8Api *libV8Api = new V8Api(&funcResolver);
  return libV8Api;
}

} // namespace Microsoft::NodeApiJsi