tRPC work
This commit is contained in:
@@ -5,19 +5,26 @@ import { TodoRepository } from "./TodoRepository"
|
||||
|
||||
export const t = initTRPC.create()
|
||||
|
||||
export const run = <A, E, R>(
|
||||
program: Effect.Effect<A, E, R>
|
||||
export const run = <
|
||||
Args extends unknown[],
|
||||
A, E, R
|
||||
>(
|
||||
program: (...args: Args) => Effect.Effect<A, E, R>
|
||||
) => FiberSet.makeRuntime<R>().pipe(
|
||||
Effect.map(runFork => runFork(program))
|
||||
Effect.map(runFork =>
|
||||
(...args: Args) => runFork(program(...args))
|
||||
)
|
||||
)
|
||||
|
||||
const testRouter = Effect.gen(function*() {
|
||||
return t.router({
|
||||
test: t.procedure.query(() =>
|
||||
yield* run(Effect.gen(function*() {
|
||||
test: t.procedure.query(
|
||||
yield* run((opts) => Effect.gen(function*() {
|
||||
const todos = yield* TodoRepository
|
||||
return "test"
|
||||
}))
|
||||
)
|
||||
),
|
||||
|
||||
test2: t.procedure.query(opts => {}),
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user