#include "napi.h"
static napi_value Getter_Core(napi_env env, napi_callback_info info) {
(void) info;
napi_value result;
napi_status status = napi_create_uint32(env, 42, &result);
NAPI_THROW_IF_FAILED(env, status, nullptr);
return result;
}
static napi_value Setter_Core(napi_env env, napi_callback_info info) {
size_t argc = 1;
napi_value argv;
napi_status status =
napi_get_cb_info(env, info, &argc, &argv, nullptr, nullptr);
NAPI_THROW_IF_FAILED(env, status, nullptr);
(void) argv;
return nullptr;
}
static Napi::Value Getter(const Napi::CallbackInfo& info) {
return Napi::Number::New(info.Env(), 42);
}
static void Setter(const Napi::CallbackInfo& info) {
(void) info[0];
}
#if NAPI_VERSION > 5
class PropDescBenchmark : public Napi::Addon<PropDescBenchmark> {
public:
PropDescBenchmark(Napi::Env, Napi::Object exports) {
DefineAddon(exports, {
InstanceAccessor("addon",
&PropDescBenchmark::Getter,
&PropDescBenchmark::Setter,
napi_enumerable),
InstanceAccessor<&PropDescBenchmark::Getter,
&PropDescBenchmark::Setter>("addon_templated",
napi_enumerable),
});
}
private:
Napi::Value Getter(const Napi::CallbackInfo& info) {
return Napi::Number::New(info.Env(), 42);
}
void Setter(const Napi::CallbackInfo& info, const Napi::Value& val) {
(void) info[0];
(void) val;