UNPKG

effect-sql-kysely

Version:

A full-featured integration between `@effect/sql` and `Kysely` that provides type-safe database operations with Effect's powerful error handling and resource management.

29 lines (28 loc) 840 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.beginConnection = beginConnection; const DeferredPromise_js_1 = require("./DeferredPromise.js"); async function beginConnection(db) { const connection = new DeferredPromise_js_1.DeferredPromise(); const result = new DeferredPromise_js_1.DeferredPromise(); // Do NOT await this line. const transaction = db .connection() .execute((conn) => { connection.resolve(conn); return result.promise; }) .catch(connection.reject); const conn = await connection.promise; return { conn, success() { result.resolve(null); return transaction; }, fail(cause) { result.reject(cause); return transaction; }, }; }