@@ -831,8 +831,8 @@ void DatabaseSync::CreateTagStore(const FunctionCallbackInfo<Value>& args) {
831831 capacity = args[0 ].As <Number>()->Value ();
832832 }
833833
834- BaseObjectPtr<SQLTagStore> session =
835- SQLTagStore::Create ( env, BaseObjectWeakPtr<DatabaseSync>(db), capacity);
834+ BaseObjectPtr<SQLTagStore> session = SQLTagStore::Create (
835+ env, BaseObjectWeakPtr<DatabaseSync>(db), args. This ( ), capacity);
836836 if (!session) {
837837 // Handle error if creation failed
838838 THROW_ERR_SQLITE_ERROR (env->isolate (), " Failed to create SQLTagStore" );
@@ -2710,14 +2710,18 @@ Local<FunctionTemplate> SQLTagStore::GetConstructorTemplate(Environment* env) {
27102710}
27112711
27122712BaseObjectPtr<SQLTagStore> SQLTagStore::Create (
2713- Environment* env, BaseObjectWeakPtr<DatabaseSync> database, int capacity) {
2713+ Environment* env,
2714+ BaseObjectWeakPtr<DatabaseSync> database,
2715+ Local<Object> database_object,
2716+ int capacity) {
27142717 Local<Object> obj;
27152718 if (!GetConstructorTemplate (env)
27162719 ->InstanceTemplate ()
27172720 ->NewInstance (env->context ())
27182721 .ToLocal (&obj)) {
27192722 return nullptr ;
27202723 }
2724+ obj->SetInternalField (kDatabaseObject , database_object);
27212725 return MakeBaseObject<SQLTagStore>(env, obj, std::move (database), capacity);
27222726}
27232727
@@ -2728,9 +2732,8 @@ void SQLTagStore::CapacityGetter(const FunctionCallbackInfo<Value>& args) {
27282732}
27292733
27302734void SQLTagStore::DatabaseGetter (const FunctionCallbackInfo<Value>& args) {
2731- SQLTagStore* store;
2732- ASSIGN_OR_RETURN_UNWRAP (&store, args.This ());
2733- args.GetReturnValue ().Set (store->database_ ->object ());
2735+ args.GetReturnValue ().Set (
2736+ args.This ()->GetInternalField (kDatabaseObject ).As <Value>());
27342737}
27352738
27362739void SQLTagStore::SizeGetter (const FunctionCallbackInfo<Value>& args) {
0 commit comments