remote-sql-d1
v0.0.7
Published
Cloudflare D1 implementation of the remote-sql interface
Downloads
143
Maintainers
Readme
remote-sql-d1
Cloudflare D1 implementation of the remote-sql interface.
Overview
remote-sql-d1 provides an implementation of the RemoteSQL interface for Cloudflare D1 databases, enabling batch transaction workflows in Cloudflare Workers.
Installation
pnpm add remote-sql-d1 @cloudflare/workers-typesUsage
import { RemoteD1 } from 'remote-sql-d1';
// Wrap your D1 database instance
const remoteD1 = new RemoteD1(d1Database);
// Prepare and execute statements
const stmt = remoteD1.prepare('SELECT * FROM users WHERE id = ?');
const result = await stmt.bind(userId).all<User>();
// Execute batch transactions
const stmt1 = remoteD1.prepare('INSERT INTO users (name) VALUES (?)').bind('Alice');
const stmt2 = remoteD1.prepare('INSERT INTO users (name) VALUES (?)').bind('Bob');
const results = await remoteD1.batch([stmt1, stmt2]);API
RemoteD1
constructor(d1: D1Database)
Creates a new RemoteD1 instance wrapping a Cloudflare D1 database.
prepare(sql: string): SQLPreparedStatement
Creates a prepared statement from a SQL string.
batch<T>(list: SQLPreparedStatement[]): Promise<SQLResult<T>[]>
Executes multiple prepared statements as a batch transaction using D1's native batch API.
D1SQLPreparedStatement
A wrapper around D1's prepared statement that implements the SQLPreparedStatement interface.
bind(...values: any[]): SQLPreparedStatement
Binds values to the prepared statement parameters using D1's bind method.
all<T>(): Promise<SQLResult<T>>
Executes the prepared statement and returns all results.
License
MIT
