Working ServerDev
This commit is contained in:
@@ -7,7 +7,12 @@ type TServices =
|
|||||||
|
|
||||||
export interface Services extends TServices {}
|
export interface Services extends TServices {}
|
||||||
|
|
||||||
|
export module Services {
|
||||||
export const ServicesLive = Layer.mergeAll(
|
export const Live = Layer.mergeAll(
|
||||||
TodoRepository.Live
|
TodoRepository.Live
|
||||||
) satisfies Layer.Layer<Services, never, never>
|
) satisfies Layer.Layer<Services, never, never>
|
||||||
|
|
||||||
|
export const Dev = Layer.mergeAll(
|
||||||
|
TodoRepository.Live
|
||||||
|
) satisfies Layer.Layer<Services, never, never>
|
||||||
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
))
|
))
|
||||||
|
|||||||
Reference in New Issue
Block a user