Merge commit '36c66dd290d3ce6eb1ccd310d0c658d4a32bb8eb' as 'repos/effect'

This commit is contained in:
-Puter
2026-07-19 03:25:10 +05:30
parent dd1071cc10
commit 2daf979036
2214 changed files with 673090 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
import { assert, describe, it } from "@effect/vitest"
import { Effect, Layer, Logger } from "effect"
import { SqlClient, Statement } from "effect/unstable/sql"
import { MysqlContainer } from "./utils.ts"
const SqlLogger = Layer.succeed(Statement.CurrentTransformer)((statement) => {
const [query, params] = statement.compile()
return Effect.log("executing sql").pipe(
Effect.annotateLogs({ query, params }),
Effect.as(statement)
)
})
describe("sql", () => {
it.effect("tranformers", () =>
Effect.gen(function*() {
const logs: Array<unknown> = []
const sql = yield* SqlClient.SqlClient
const result = yield* sql<{ result: number }>`SELECT 1 + 1 AS result`.pipe(
Effect.provide(Logger.layer([
Logger.make((log) => {
logs.push(log.message)
})
]))
)
assert.deepStrictEqual(result, [{ result: 2 }])
assert.deepStrictEqual(logs, [["executing sql"]])
}).pipe(
Effect.provide(MysqlContainer.layerClient.pipe(
Layer.provideMerge(SqlLogger)
)),
Effect.catchTag("ContainerError", () => Effect.void)
), { timeout: 60_000 })
})