import { initTRPC } from "@trpc/server" import { ZodError } from "zod" import { transformer } from "./transformer" import type { Context } from "./context" export type Meta = { authRequired?: boolean } const t = initTRPC .context() .meta() .create({ transformer, errorFormatter({ shape, error }) { return { ...shape, data: { ...shape.data, cause: error.cause instanceof ZodError ? undefined : error.cause, zodError: error.cause instanceof ZodError ? error.cause.flatten() : null, }, } }, }) export const { createCallerFactory, mergeRouters, router, procedure, middleware, } = t