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" import { Context, Effect, Layer } from "effect"
export const make = < export const Identifier = "@thilalib/TRPC/TRPCRouter"
A extends AnyRouter, export interface TRPCRouter<T extends AnyRouter> extends Context.Tag<typeof Identifier, T> {}
E, R,
>(router: Effect.Effect<A, E, R>) => { export const TRPCAnyRouter = Context.GenericTag<typeof Identifier, AnyRouter>(Identifier)
class TRPCRouter extends Context.Tag("@thilalib/TRCP/TRPCRouter")<TRPCRouter, A>() {}
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) const TRPCRouterLive = Layer.effect(TRPCRouter, router)
return { TRPCRouter, TRPCRouterLive } return { TRPCRouter, TRPCRouterLive } as const
} }