TRCPRouter
Some checks failed
Lint / lint (push) Failing after 12s

This commit is contained in:
Julien Valverdé
2024-09-07 18:48:44 +02:00
parent 253c3ec00d
commit 639285af82

View File

@@ -2,12 +2,17 @@ import type { AnyRouter } from "@trpc/server"
import { Context, Effect, Layer } from "effect"
export const make = <
A extends AnyRouter,
E, R,
>(router: Effect.Effect<A, E, R>) => {
class TRPCRouter extends Context.Tag("@thilalib/TRCP/TRPCRouter")<TRPCRouter, A>() {}
export const Identifier = "@thilalib/TRPC/TRPCRouter"
export interface TRPCRouter<T extends AnyRouter> extends Context.Tag<typeof Identifier, T> {}
export const TRPCAnyRouter = Context.GenericTag<typeof Identifier, AnyRouter>(Identifier)
export const make = <A extends AnyRouter, E, R>(
router: Effect.Effect<A, E, R>
) => {
const TRPCRouter = Context.GenericTag<typeof Identifier, A>(Identifier)
const TRPCRouterLive = Layer.effect(TRPCRouter, router)
return { TRPCRouter, TRPCRouterLive }
return { TRPCRouter, TRPCRouterLive } as const
}