TRPCEffectRunner work

This commit is contained in:
Julien Valverdé
2024-07-03 01:51:50 +02:00
parent 147b105100
commit 0cfb5f64cc
2 changed files with 14 additions and 4 deletions

View File

@@ -1,9 +1,10 @@
import { BunRuntime } from "@effect/platform-bun"
import { Todo } from "@todo-tests/common/data"
import { Identifiable } from "@todo-tests/common/traits"
import { Array, Duration, Effect, Fiber, Option, Stream } from "effect"
import { Array, Duration, Effect, Fiber, Layer, Option, Stream } from "effect"
import { MainLive } from "./Main"
import { TodoRepository, createDefaultTodos } from "./TodoRepository"
import { TRPCEffectRunnerLive } from "./trpc"
const watchTodoChanges = Effect.gen(function*() {
@@ -54,6 +55,13 @@ const main = Effect.gen(function*() {
yield* Fiber.join(watcher)
})
BunRuntime.runMain(
main.pipe(Effect.provide(MainLive))
const runnableMain = main.pipe(
Effect.provide(
Layer.mergeAll(
TRPCEffectRunnerLive,
MainLive,
)
)
)
BunRuntime.runMain(runnableMain)

View File

@@ -1,7 +1,7 @@
import { initTRPC } from "@trpc/server"
import { Context, Effect, Layer, Runtime } from "effect"
import type { RuntimeFiber } from "effect/Fiber"
import type { MainR } from "./Main"
import { MainLive, type MainR } from "./Main"
import { TodoRepository } from "./TodoRepository"
@@ -16,6 +16,8 @@ export const TRPCEffectRunnerLive = Layer.effect(TRPCEffectRunner,
Effect.runtime<MainR>().pipe(
Effect.map(Runtime.runFork)
)
).pipe(
Layer.provide(MainLive)
)