tRPC work
This commit is contained in:
@@ -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"
|
||||||
|
}))
|
||||||
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user