mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-20 05:40:17 +08:00
2 lines
991 B
TypeScript
2 lines
991 B
TypeScript
import * as Effect from "effect/Effect";import * as Stream from "effect/Stream";import * as SqlClient from "effect/sql/SqlClient";import * as Statement from "effect/sql/Statement";import * as Reactivity from "effect/reactivity/Reactivity";const conn={execute:(sql:string,params:ReadonlyArray<unknown>)=>Effect.succeed([{sql,params}]),executeRaw:(sql:string,params:ReadonlyArray<unknown>)=>Effect.succeed([{sql,params}]),executeValuesUnprepared:()=>Effect.succeed([]),executeValues:()=>Effect.succeed([]),executeUnprepared:(sql:string,params:ReadonlyArray<unknown>)=>Effect.succeed([{sql,params}]),executeStream:()=>Stream.empty};Effect.runPromise((Effect.gen(function*(){const sql=yield* SqlClient.make({acquirer:Effect.succeed(conn),compiler:Statement.makeCompilerSqlite(),spanAttributes:[]});return yield* sql.withTransaction(sql`select ${42} as answer`)}).pipe(Effect.scoped,Effect.provide(Reactivity.layer))).pipe(Effect.tap(value=>Effect.sync(()=>console.log(JSON.stringify(value))))))
|