TRPCExpressRouteLive
Some checks failed
Lint / lint (push) Failing after 16s

This commit is contained in:
Julien Valverdé
2024-09-06 05:48:57 +02:00
parent 4cf88348a0
commit 1b80901f04
9 changed files with 73 additions and 6 deletions

View File

@@ -1,15 +1,21 @@
import { createExpressMiddleware } from "@trpc/server/adapters/express"
import { Config, Effect, Layer } from "effect"
import { ImportError } from "../../ImportError"
import { ExpressApp } from "../express"
import { TRPCUnknownContextCreator } from "./TRPCContextCreator"
import { TRPCAnyRouter } from "./TRPCRouter"
const importTRPCServerExpressAdapter = Effect.tryPromise({
try: () => import("@trpc/server/adapters/express"),
catch: cause => new ImportError({ path: "@trpc/server/adapters/express", cause }),
})
export const TRPCExpressRouteLive = (
config: {
readonly path: Config.Config<string>
}
) => Layer.effectDiscard(Effect.gen(function*() {
const { createExpressMiddleware } = yield* importTRPCServerExpressAdapter
const app = yield* ExpressApp.ExpressApp
app.use(yield* config.path,