@alt-javascript/jsdbc-core
v1.1.1
Published
JSDBC core interfaces — Driver, Connection, Statement, ResultSet, DataSource, DriverManager
Maintainers
Readme
@alt-javascript/jsdbc-core
Core interfaces for JSDBC — a JDBC-inspired database access facade for JavaScript. This package provides the abstract base classes that all JSDBC drivers implement.
Part of the @alt-javascript/jsdbc monorepo.
Install
npm install @alt-javascript/jsdbc-coreInterfaces
| Class | Role |
|---|---|
| Driver | Creates connections to a specific database. Self-registers with DriverManager. |
| DriverManager | Static registry. Matches JSDBC URLs to registered drivers. |
| Connection | A session to a database. Creates statements, manages transactions. |
| Statement | Executes ad-hoc SQL (DDL). |
| PreparedStatement | Executes parameterised SQL with ? placeholders (DML, queries). |
| ResultSet | Query results with cursor-based and bulk access. |
| DataSource | Connection factory. Create once, call getConnection() per unit of work. |
| SingleConnectionDataSource | Returns the same connection repeatedly. For in-memory databases. |
Usage
You don't use jsdbc-core alone — install it alongside a driver:
npm install @alt-javascript/jsdbc-core @alt-javascript/jsdbc-sqliteimport { DataSource } from '@alt-javascript/jsdbc-core';
import '@alt-javascript/jsdbc-sqlite'; // self-registers
const ds = new DataSource({ url: 'jsdbc:sqlite:./myapp.db' });
const conn = await ds.getConnection();
const ps = await conn.prepareStatement('SELECT * FROM users WHERE id = ?');
ps.setParameter(1, 42);
const rs = await ps.executeQuery();
console.log(rs.getRows());
rs.close();
await conn.close();Writing a Driver
Implement four classes extending the core abstractions. See the Driver Guide.
License
MIT
