tRPC work

This commit is contained in:
Julien Valverdé
2024-07-01 20:12:19 +02:00
parent 546c14e841
commit 07f5701206

View File

@@ -1,21 +1,23 @@
import { initTRPC } from "@trpc/server" import { initTRPC } from "@trpc/server"
import { Context, Effect, FiberSet } from "effect" import { Effect, FiberSet } from "effect"
import { TodoRepository } from "./TodoRepository"
export const t = initTRPC.create() export const t = initTRPC.create()
export const run = <A, E, R>( export const run = <A, E, R>(
program: Effect.Effect<A, E, R> program: Effect.Effect<A, E, R>
) => Effect.gen(function*() { ) => FiberSet.makeRuntime<R>().pipe(
const runFork = yield* FiberSet.makeRuntime<R>() Effect.map(runFork => runFork(program))
)
})
const testRouter = Effect.gen(function*() { const testRouter = Effect.gen(function*() {
return t.router({ return t.router({
test: t.procedure.query(async () => { test: t.procedure.query(() =>
yield* run(Effect.gen(function*() {
}) const todos = yield* TodoRepository
return "test"
}))
)
}) })
}) })