Skip to content

Commit

Permalink
Refactored Database to use macros for method definitions
Browse files Browse the repository at this point in the history
- this cleans up similar definitions and makes further refactors easier
  • Loading branch information
daniellockyer committed Dec 27, 2023
1 parent 5809f62 commit 8bda876
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 24 deletions.
4 changes: 2 additions & 2 deletions src/database.cc
Expand Up @@ -25,7 +25,7 @@ Napi::Object Database::Init(Napi::Env env, Napi::Object exports) {
InstanceMethod("parallelize", &Database::Parallelize, napi_default_method),
InstanceMethod("configure", &Database::Configure, napi_default_method),
InstanceMethod("interrupt", &Database::Interrupt, napi_default_method),
InstanceAccessor("open", &Database::OpenGetter, nullptr)
InstanceAccessor("open", &Database::Open, nullptr)
});

#if NAPI_VERSION < 6
Expand Down Expand Up @@ -212,7 +212,7 @@ void Database::Work_AfterOpen(napi_env e, napi_status status, void* data) {
}
}

Napi::Value Database::OpenGetter(const Napi::CallbackInfo& info) {
Napi::Value Database::Open(const Napi::CallbackInfo& info) {
auto env = this->Env();
auto* db = this;
return Napi::Boolean::New(env, db->open);
Expand Down
26 changes: 4 additions & 22 deletions src/database.h
Expand Up @@ -145,38 +145,20 @@ class Database : public Napi::ObjectWrap<Database> {
}

protected:
static void Work_BeginOpen(Baton* baton);
static void Work_Open(napi_env env, void* data);
static void Work_AfterOpen(napi_env env, napi_status status, void* data);

Napi::Value OpenGetter(const Napi::CallbackInfo& info);
WORK_DEFINITION(Open);
WORK_DEFINITION(Exec);
WORK_DEFINITION(Close);
WORK_DEFINITION(LoadExtension);

void Schedule(Work_Callback callback, Baton* baton, bool exclusive = false);
void Process();

Napi::Value Exec(const Napi::CallbackInfo& info);
static void Work_BeginExec(Baton* baton);
static void Work_Exec(napi_env env, void* data);
static void Work_AfterExec(napi_env env, napi_status status, void* data);

Napi::Value Wait(const Napi::CallbackInfo& info);
static void Work_Wait(Baton* baton);

Napi::Value Close(const Napi::CallbackInfo& info);
static void Work_BeginClose(Baton* baton);
static void Work_Close(napi_env env, void* data);
static void Work_AfterClose(napi_env env, napi_status status, void* data);

Napi::Value LoadExtension(const Napi::CallbackInfo& info);
static void Work_BeginLoadExtension(Baton* baton);
static void Work_LoadExtension(napi_env env, void* data);
static void Work_AfterLoadExtension(napi_env env, napi_status status, void* data);

Napi::Value Serialize(const Napi::CallbackInfo& info);
Napi::Value Parallelize(const Napi::CallbackInfo& info);

Napi::Value Configure(const Napi::CallbackInfo& info);

Napi::Value Interrupt(const Napi::CallbackInfo& info);

static void SetBusyTimeout(Baton* baton);
Expand Down

0 comments on commit 8bda876

Please sign in to comment.