diff --git a/packages/server/src/trpc.ts b/packages/server/src/trpc.ts
index 58ecfc0..8a02ae2 100644
--- a/packages/server/src/trpc.ts
+++ b/packages/server/src/trpc.ts
@@ -5,19 +5,26 @@ import { TodoRepository } from "./TodoRepository"
export const t = initTRPC.create()
-export const run = (
- program: Effect.Effect
+export const run = <
+ Args extends unknown[],
+ A, E, R
+>(
+ program: (...args: Args) => Effect.Effect
) => FiberSet.makeRuntime().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 => {}),
})
})