From a6a75ad875d7d1f2c530f436ff256e3dbc0d4c74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 12 Jul 2024 00:36:45 +0200 Subject: [PATCH] Working ServerDev --- packages/server/src/Services.ts | 11 ++++++++--- packages/server/src/index.ts | 28 +++++++++++++++++----------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/packages/server/src/Services.ts b/packages/server/src/Services.ts index 264c835..ce13af2 100644 --- a/packages/server/src/Services.ts +++ b/packages/server/src/Services.ts @@ -7,7 +7,12 @@ type TServices = export interface Services extends TServices {} +export module Services { + export const Live = Layer.mergeAll( + TodoRepository.Live + ) satisfies Layer.Layer -export const ServicesLive = Layer.mergeAll( - TodoRepository.Live -) satisfies Layer.Layer + export const Dev = Layer.mergeAll( + TodoRepository.Live + ) satisfies Layer.Layer +} diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 95a7b6b..a4717b0 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -2,10 +2,11 @@ import { BunRuntime } from "@effect/platform-bun" import { Todo, type IdentifiedTodo } from "@todo-tests/common/data" import { Identifiable } from "@todo-tests/common/traits" import { Chunk, Effect, Layer, Stream } from "effect" -import { ServicesLive } from "./Services" +import { Services } from "./Services" import { TodoRepository, createDefaultTodos } from "./TodoRepository" import { ExpressApp } from "./http/ExpressApp" import { ExpressHTTPServer } from "./http/ExpressHTTPServer" +import { WebSocketServer } from "./http/WebSocketServer" import { RPCPlaygroundRoute } from "./rpc/RPCPlaygroundRoute" import { RPCRoute } from "./rpc/RPCRoute" import { RPCRouter } from "./rpc/RPCRouter" @@ -15,15 +16,19 @@ import { TRPCBuilder } from "./trpc/TRPCBuilder" import { TRPCContextCreator } from "./trpc/TRPCContextCreator" -const ServerDev = ExpressHTTPServer.Live.pipe( - Layer.provide(RPCWebSocketHandler.Live), - Layer.provide(RPCRoute.Live), - Layer.provide(RPCPlaygroundRoute.Dev), - Layer.provide(RPCRouter.Live), - Layer.provide(RPCProcedureBuilder.Live), - Layer.provide(TRPCBuilder.Live), - Layer.provide(TRPCContextCreator.Live), - Layer.provide(ExpressApp.Live), +const ServerDev = Layer.empty.pipe( + Layer.provideMerge(RPCRoute.Live), + Layer.provideMerge(RPCPlaygroundRoute.Dev), + Layer.provideMerge(RPCWebSocketHandler.Live), + + Layer.provideMerge(RPCRouter.Live), + Layer.provideMerge(RPCProcedureBuilder.Live), + Layer.provideMerge(TRPCBuilder.Live), + Layer.provideMerge(TRPCContextCreator.Live), + + Layer.provideMerge(WebSocketServer.Live), + Layer.provideMerge(ExpressHTTPServer.Live), + Layer.provideMerge(ExpressApp.Live), ) @@ -76,5 +81,6 @@ const main = Effect.gen(function*() { }) BunRuntime.runMain(main.pipe( - Effect.provide(ServicesLive) + Effect.provide(Services.Dev), + Effect.scoped, ))