diff --git a/packages/server/src/trpc.ts b/packages/server/src/trpc.ts index 8a02ae2..61f9771 100644 --- a/packages/server/src/trpc.ts +++ b/packages/server/src/trpc.ts @@ -1,30 +1,41 @@ import { initTRPC } from "@trpc/server" -import { Effect, FiberSet } from "effect" +import { Effect, FiberSet, Runtime } from "effect" import { TodoRepository } from "./TodoRepository" export const t = initTRPC.create() -export const run = < - Args extends unknown[], - A, E, R ->( - program: (...args: Args) => Effect.Effect -) => FiberSet.makeRuntime().pipe( - Effect.map(runFork => - (...args: Args) => runFork(program(...args)) - ) +export const makeRunner = Effect.runtime().pipe( + Effect.map(Runtime.runFork) ) +// export const run = < +// Args extends unknown[], +// A, E, R +// >( +// program: (...args: Args) => Effect.Effect +// ) => FiberSet.makeRuntime().pipe( +// Effect.map(runFork => +// (...args: Args) => runFork(program(...args)) +// ) +// ) + const testRouter = Effect.gen(function*() { + const run = yield* makeRunner + return t.router({ - test: t.procedure.query( - yield* run((opts) => Effect.gen(function*() { + // test1: t.procedure.query( + // yield* run((opts) => Effect.gen(function*() { + // const todos = yield* TodoRepository + // return "test" + // })) + // ), + + test1: t.procedure.query( + (opts) => run(Effect.gen(function*() { const todos = yield* TodoRepository return "test" })) ), - - test2: t.procedure.query(opts => {}), }) })