
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
promised-sqlite3
Advanced tools
A thin wrapper for sqlite3
database that expose an async API.
Note: sqlite3
is marked as a peer dependency, you must also install it.
npm install promised-sqlite3 sqlite3
AsyncDatabase
is a wrapper that expose an async version of the sqlite3.Database
's API.
AsyncStatement
is a wrapper that expose an async version of the sqlite3.Statement
's API.
The following methods of sqlite3.Database
are available as async methods in AsyncDatabase
:
open
close
run
get
all
each
exec
prepare
The following methods of sqlite3.Statement
are available as async methods in AsyncStatement
:
bind
reset
finalize
run
get
all
each
These methods accept the same arguments as their sync version except for the callback
one.
Refer to the sqlite3
's API reference for further information on their usage.
AsyncDatabase
and AsyncStatement
only exposes the async methods listed above. You can access to the sqlite3.Database
or the sqlite3.Statement
object with the inner
property (see example below).
const { AsyncDatabase } = require("promised-sqlite3");
(async () => {
try {
// Create the AsyncDatabase object and open the database.
const db = await AsyncDatabase.open("./db.sqlite");
// Access the inner sqlite3.Database object to use the API that is not exposed by AsyncDatabase.
db.inner.on("trace", (sql) => console.log("[TRACE]", sql));
// Run some sql request.
await db.run(
"CREATE TABLE IF NOT EXISTS foo (id INTEGER PRIMARY KEY AUTOINCREMENT, a TEXT NOT NULL, b TEXT)"
);
await db.run("INSERT INTO foo (a, b) VALUES (?, ?)", "alpha", "beta");
await db.run("INSERT INTO foo (a, b) VALUES ($goo, $hoo)", {
$goo: "GOO !",
$hoo: "HOO :",
});
await db.run("INSERT INTO foo (a, b) VALUES (?, ?)", [
"Value of a",
"Value of b",
]);
// Read database.
const row = await db.get("SELECT * FROM foo WHERE id = ?", 2);
const rows = await db.all("SELECT * FROM foo");
await db.each("SELECT * FROM foo WHERE id > ?", 5, (row) =>
console.log(row)
);
// Create a async statement
const statement = await db.prepare("SELECT * FROM foo WHERE id = ?", 2);
const row = await statement.get();
// Close the database.
await db.close();
} catch (err) {
console.error(err);
}
})();
FAQs
A wrapper arround sqlite3 node.js package to use promise
The npm package promised-sqlite3 receives a total of 2,270 weekly downloads. As such, promised-sqlite3 popularity was classified as popular.
We found that promised-sqlite3 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.