TRPCEffectRunner work
This commit is contained in:
@@ -1,9 +1,10 @@
|
|||||||
import { BunRuntime } from "@effect/platform-bun"
|
import { BunRuntime } from "@effect/platform-bun"
|
||||||
import { Todo } from "@todo-tests/common/data"
|
import { Todo } from "@todo-tests/common/data"
|
||||||
import { Identifiable } from "@todo-tests/common/traits"
|
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 { MainLive } from "./Main"
|
||||||
import { TodoRepository, createDefaultTodos } from "./TodoRepository"
|
import { TodoRepository, createDefaultTodos } from "./TodoRepository"
|
||||||
|
import { TRPCEffectRunnerLive } from "./trpc"
|
||||||
|
|
||||||
|
|
||||||
const watchTodoChanges = Effect.gen(function*() {
|
const watchTodoChanges = Effect.gen(function*() {
|
||||||
@@ -54,6 +55,13 @@ const main = Effect.gen(function*() {
|
|||||||
yield* Fiber.join(watcher)
|
yield* Fiber.join(watcher)
|
||||||
})
|
})
|
||||||
|
|
||||||
BunRuntime.runMain(
|
const runnableMain = main.pipe(
|
||||||
main.pipe(Effect.provide(MainLive))
|
Effect.provide(
|
||||||
|
Layer.mergeAll(
|
||||||
|
TRPCEffectRunnerLive,
|
||||||
|
MainLive,
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
BunRuntime.runMain(runnableMain)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { initTRPC } from "@trpc/server"
|
import { initTRPC } from "@trpc/server"
|
||||||
import { Context, Effect, Layer, Runtime } from "effect"
|
import { Context, Effect, Layer, Runtime } from "effect"
|
||||||
import type { RuntimeFiber } from "effect/Fiber"
|
import type { RuntimeFiber } from "effect/Fiber"
|
||||||
import type { MainR } from "./Main"
|
import { MainLive, type MainR } from "./Main"
|
||||||
import { TodoRepository } from "./TodoRepository"
|
import { TodoRepository } from "./TodoRepository"
|
||||||
|
|
||||||
|
|
||||||
@@ -16,6 +16,8 @@ export const TRPCEffectRunnerLive = Layer.effect(TRPCEffectRunner,
|
|||||||
Effect.runtime<MainR>().pipe(
|
Effect.runtime<MainR>().pipe(
|
||||||
Effect.map(Runtime.runFork)
|
Effect.map(Runtime.runFork)
|
||||||
)
|
)
|
||||||
|
).pipe(
|
||||||
|
Layer.provide(MainLive)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user