function createDrizzleDatabase
Since 0.2.0
createDrizzleDatabase<TDatabase extends object>(
database: TDatabase,
...unsupportedSynchronousDriver: TDatabase extends { transaction(
callback: (transaction: infer _TTransaction) => { readonly __setuSynchronousTransactionResult: true; },
...args: unknown[]
): { readonly __setuSynchronousTransactionResult: true; }; } ? [never] : []
): DrizzleDatabase<TDatabase>

Creates the opaque configuration required by the Drizzle adapter and query accessors.

The application supplies a positive async transaction bridge. Unknown or structurally async-looking transaction methods are never inferred to be safe. A bridge for a supported driver is normally the direct call database.transaction(work) after the application has verified that driver's documented callback contract.

Examples

Example 1

const drizzleDatabase = createDrizzleDatabase(
  drizzleDb,
  (database, work) => database.transaction(work),
);

Type Parameters

TDatabase extends object

Exact application Drizzle database type, inferred from database

Parameters

database: TDatabase

Configured Drizzle database instance

Source-owned bridge that guarantees Promise-aware callback semantics

...unsupportedSynchronousDriver: TDatabase extends { transaction(
callback: (transaction: infer _TTransaction) => { readonly __setuSynchronousTransactionResult: true; },
...args: unknown[]
): { readonly __setuSynchronousTransactionResult: true; }; } ? [never] : []

Uncallable guard for typed synchronous callback drivers

Return Type

An opaque frozen configuration tied to the exact database identity

Usage

import { createDrizzleDatabase } from "database-plugin/src/index.ts";