data-peek/apps/webapp/src/lib/trpc-client.ts

24 lines
661 B
TypeScript

import { createTRPCReact } from '@trpc/react-query'
import { createTRPCClient, httpBatchLink } from '@trpc/client'
import superjson from 'superjson'
import type { AppRouter } from '@/server/root'
export const trpc = createTRPCReact<AppRouter>()
function getBaseUrl() {
if (typeof window !== 'undefined') return ''
return `http://localhost:${process.env.PORT ?? 3001}`
}
export function createVanillaTRPCClient() {
return createTRPCClient<AppRouter>({
links: [
httpBatchLink({
url: `${getBaseUrl()}/api/trpc`,
transformer: superjson,
}),
],
})
}
export type TRPCClient = ReturnType<typeof createVanillaTRPCClient>