import type { AnyRouter } from "@trpc/server" import { Context, Effect, Layer } from "effect" export const Identifier = "@thilalib/TRPC/TRPCRouter" export interface TRPCRouter extends Context.Tag {} export const TRPCAnyRouter = Context.GenericTag(Identifier) export const make = ( router: Effect.Effect ) => { const TRPCRouter = Context.GenericTag(Identifier) const TRPCRouterLive = Layer.effect(TRPCRouter, router) return { TRPCRouter, TRPCRouterLive } as const }