SqliteClient unstable
Connects Effect SQL to SQLite storage inside Cloudflare Durable Objects.
Provides SqliteClient and the generic SqlClient service. Pass db for
queries only, or storage for transactions and migrations. SQLite blobs are
returned as Uint8Array; updateValues is unsupported.
The outer transaction holds the connection semaphore until storage completes.
Nested withTransaction calls reuse that connection and call
storage.transaction() without emitting transaction SQL. Child failures and
interruptions roll back the child; uncaught failures also roll back the parent.
Concurrent sibling transactions are unsupported. Fibers inheriting the transaction context must finish their transaction work before the enclosing transaction exits; later use can bypass the connection semaphore.
Constructors
Creates a scoped Cloudflare Durable Object SQLite client around Durable Object SQLite storage, serializing access and converting returned ArrayBuffer values to Uint8Array.
Signature
declare function make(options: SqliteClientConfig): Effect<SqliteClient, never, Scope | Reactivity>Layers
Creates a layer from a concrete Durable Object SQLite client configuration, providing both SqliteClient and SqlClient.
Signature
declare function layer(config: SqliteClientConfig): Layer<SqliteClient | SqlClient>layerConfig unstable
Creates a layer from a Config-wrapped Durable Object SQLite client configuration, providing both SqliteClient and SqlClient.
Signature
declare function layerConfig(config: { readonly db?: Config<any>; readonly spanAttributes?: { [key: string]: Config<unknown>; } | Config<Record<string, unknown> | undefined>; readonly storage?: Config<any>; readonly transformQueryNames?: Config<(str: string) => string | undefined>; readonly transformResultNames?: Config<(str: string) => string | undefined>;} | Config<SqliteClientConfig>): Layer<SqliteClient | SqlClient, ConfigError>Models
SqliteClientConfig interface unstable
Configuration for a Cloudflare Durable Object SQLite client, including either a SqlStorage handle or the full DurableObjectStorage for transaction support, span attributes, and query/result name transforms.
Signature
interface SqliteClientConfig { readonly db?: any; readonly spanAttributes?: Record<string, unknown>; readonly storage?: any; readonly transformQueryNames?: (str: string) => string; readonly transformResultNames?: (str: string) => string;}Services
SqliteClient unstable
Service tag for the Cloudflare Durable Object SQLite client service.
When to use
Use to access or provide a Durable Object SQLite client through the Effect context.
Signature
declare const SqliteClient: Service<SqliteClient, SqliteClient>SqliteClient interface unstable
Cloudflare Durable Object SQLite client service, extending SqlClient with its configuration. updateValues is not supported.
Signature
interface SqliteClient extends SqlClient { <A extends object = Row>(strings: TemplateStringsArray, ...args: Array<any>): Statement<A>; (value: string): Identifier; readonly "~@effect/sql-sqlite-do/SqliteClient": "~@effect/sql-sqlite-do/SqliteClient"; readonly config: SqliteClientConfig; readonly updateValues: never;}Type IDs
Runtime type identifier used to mark Cloudflare Durable Object SqliteClient values.
Signature
declare const TypeId: TypeIdType-level identifier used to mark Cloudflare Durable Object SqliteClient values.
Signature
type TypeId = "~@effect/sql-sqlite-do/SqliteClient"