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.
15 lines (14 loc) • 813 B
TypeScript
import { Reactivity } from "@effect/experimental";
import { SqlClient, SqlError, Statement } from "@effect/sql";
import { Effect } from "effect";
import { Compilable, type Kysely } from "kysely";
/**
* Low-level ability to construct an @effect/sql SqlClient interface for a Kysely database.
*/
export declare function makeSqlClient<DB>({ database, compiler, spanAttributes, chunkSize, }: {
database: Kysely<DB>;
compiler: Statement.Compiler;
spanAttributes?: ReadonlyArray<readonly [string, string]>;
chunkSize?: number;
}): Effect.Effect<SqlClient.SqlClient, never, Reactivity.Reactivity>;
export declare function makeKyselyEffect<DB>(database: Kysely<DB>, sql: SqlClient.SqlClient): <Out>(f: (db: Kysely<DB>) => Compilable<Out>) => Effect.Effect<ReadonlyArray<Out>, SqlError.SqlError, never>;