Working ServerDev

This commit is contained in:
Julien Valverdé
2024-07-12 00:36:45 +02:00
parent d9df1e15ae
commit a6a75ad875
2 changed files with 25 additions and 14 deletions

View File

@@ -7,7 +7,12 @@ type TServices =
export interface Services extends TServices {} export interface Services extends TServices {}
export module Services {
export const Live = Layer.mergeAll(
TodoRepository.Live
) satisfies Layer.Layer<Services, never, never>
export const ServicesLive = Layer.mergeAll( export const Dev = Layer.mergeAll(
TodoRepository.Live TodoRepository.Live
) satisfies Layer.Layer<Services, never, never> ) satisfies Layer.Layer<Services, never, never>
}

View File

@@ -2,10 +2,11 @@ import { BunRuntime } from "@effect/platform-bun"
import { Todo, type IdentifiedTodo } from "@todo-tests/common/data" import { Todo, type IdentifiedTodo } from "@todo-tests/common/data"
import { Identifiable } from "@todo-tests/common/traits" import { Identifiable } from "@todo-tests/common/traits"
import { Chunk, Effect, Layer, Stream } from "effect" import { Chunk, Effect, Layer, Stream } from "effect"
import { ServicesLive } from "./Services" import { Services } from "./Services"
import { TodoRepository, createDefaultTodos } from "./TodoRepository" import { TodoRepository, createDefaultTodos } from "./TodoRepository"
import { ExpressApp } from "./http/ExpressApp" import { ExpressApp } from "./http/ExpressApp"
import { ExpressHTTPServer } from "./http/ExpressHTTPServer" import { ExpressHTTPServer } from "./http/ExpressHTTPServer"
import { WebSocketServer } from "./http/WebSocketServer"
import { RPCPlaygroundRoute } from "./rpc/RPCPlaygroundRoute" import { RPCPlaygroundRoute } from "./rpc/RPCPlaygroundRoute"
import { RPCRoute } from "./rpc/RPCRoute" import { RPCRoute } from "./rpc/RPCRoute"
import { RPCRouter } from "./rpc/RPCRouter" import { RPCRouter } from "./rpc/RPCRouter"
@@ -15,15 +16,19 @@ import { TRPCBuilder } from "./trpc/TRPCBuilder"
import { TRPCContextCreator } from "./trpc/TRPCContextCreator" import { TRPCContextCreator } from "./trpc/TRPCContextCreator"
const ServerDev = ExpressHTTPServer.Live.pipe( const ServerDev = Layer.empty.pipe(
Layer.provide(RPCWebSocketHandler.Live), Layer.provideMerge(RPCRoute.Live),
Layer.provide(RPCRoute.Live), Layer.provideMerge(RPCPlaygroundRoute.Dev),
Layer.provide(RPCPlaygroundRoute.Dev), Layer.provideMerge(RPCWebSocketHandler.Live),
Layer.provide(RPCRouter.Live),
Layer.provide(RPCProcedureBuilder.Live), Layer.provideMerge(RPCRouter.Live),
Layer.provide(TRPCBuilder.Live), Layer.provideMerge(RPCProcedureBuilder.Live),
Layer.provide(TRPCContextCreator.Live), Layer.provideMerge(TRPCBuilder.Live),
Layer.provide(ExpressApp.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( BunRuntime.runMain(main.pipe(
Effect.provide(ServicesLive) Effect.provide(Services.Dev),
Effect.scoped,
)) ))