From 62cd5564841c4ff486b32e2884f9312b1ae8c478 Mon Sep 17 00:00:00 2001 From: Gabriel Schulhof Date: Wed, 12 Feb 2020 21:12:19 -0800 Subject: [PATCH] simplify addon init --- test/addon_data.cc | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/test/addon_data.cc b/test/addon_data.cc index 62a557bd6..9cee4386d 100644 --- a/test/addon_data.cc +++ b/test/addon_data.cc @@ -41,31 +41,36 @@ class Addon { } }; + static Napi::Value Getter(const Napi::CallbackInfo& info) { + return info.Env().GetInstanceData()->VerboseIndicator.New({}); + } + + static void Setter(const Napi::CallbackInfo& info) { + info.Env().GetInstanceData()->verbose = info[0].As(); + } + Addon(Napi::Env env): VerboseIndicator(VerboseIndicator::Init(env)) {} - bool verbose = false; - Napi::FunctionReference VerboseIndicator; ~Addon() { if (verbose) { fprintf(stderr, "addon_data: Addon::~Addon\n"); } } -}; - -static Napi::Value Getter(const Napi::CallbackInfo& info) { - return info.Env().GetInstanceData()->VerboseIndicator.New({}); -} -static void Setter(const Napi::CallbackInfo& info) { - info.Env().GetInstanceData()->verbose = info[0].As(); -} + static Napi::Object Init(Napi::Env env) { + env.SetInstanceData(new Addon(env)); + Napi::Object result = Napi::Object::New(env); + result.DefineProperties({ + Napi::PropertyDescriptor::Accessor("verbose"), + }); -Napi::Object InitAddonData(Napi::Env env) { - env.SetInstanceData(new Addon(env)); - Napi::Object result = Napi::Object::New(env); + return result; + } - result.DefineProperties({ - Napi::PropertyDescriptor::Accessor("verbose"), - }); + private: + bool verbose = false; + Napi::FunctionReference VerboseIndicator; +}; - return result; +Napi::Object InitAddonData(Napi::Env env) { + return Addon::Init(env); }