diff --git a/src/node_sqlite.cc b/src/node_sqlite.cc index 3a7c39e72cf421..a44c9506ce9052 100644 --- a/src/node_sqlite.cc +++ b/src/node_sqlite.cc @@ -2758,6 +2758,13 @@ static void Initialize(Local target, db_tmpl, FIXED_ONE_BYTE_STRING(isolate, "isTransaction"), DatabaseSync::IsTransactionGetter); + Local sqlite_type_key = FIXED_ONE_BYTE_STRING(isolate, "sqlite-type"); + Local sqlite_type_symbol = + v8::Symbol::For(isolate, sqlite_type_key); + Local database_sync_string = + FIXED_ONE_BYTE_STRING(isolate, "node:sqlite"); + db_tmpl->InstanceTemplate()->Set(sqlite_type_symbol, database_sync_string); + SetConstructorFunction(context, target, "DatabaseSync", db_tmpl); SetConstructorFunction(context, target, diff --git a/test/parallel/test-sqlite-database-sync.js b/test/parallel/test-sqlite-database-sync.js index 5b34dec4cc220f..d778f839098737 100644 --- a/test/parallel/test-sqlite-database-sync.js +++ b/test/parallel/test-sqlite-database-sync.js @@ -281,6 +281,15 @@ suite('DatabaseSync() constructor', () => { { changes: 1, lastInsertRowid: 1 }, ); }); + + test('has sqlite-type symbol property', (t) => { + const dbPath = nextDb(); + const db = new DatabaseSync(dbPath); + t.after(() => { db.close(); }); + + const sqliteTypeSymbol = Symbol.for('sqlite-type'); + t.assert.strictEqual(db[sqliteTypeSymbol], 'node:sqlite'); + }); }); suite('DatabaseSync.prototype.open()', () => {