Files
thilalib/src/TRPC/TRPCRouter.ts
Julien Valverdé 639285af82
Some checks failed
Lint / lint (push) Failing after 12s
TRCPRouter
2024-09-07 18:48:44 +02:00

19 lines
618 B
TypeScript

import type { AnyRouter } from "@trpc/server"
import { Context, Effect, Layer } from "effect"
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 } as const
}