Files
trpc-nuxt/playground/plugins/trpc-client.ts
wobsoriano 68003e9c3e update docs
2022-11-24 12:51:28 -08:00

33 lines
839 B
TypeScript

import { createTRPCProxyClient, httpBatchLink, loggerLink } from '@trpc/client'
import superjson from 'superjson'
import type { AppRouter } from '~~/server/trpc/routers'
export default defineNuxtPlugin(() => {
const headers = useRequestHeaders()
const client = createTRPCProxyClient<AppRouter>({
transformer: superjson,
links: [
// adds pretty logs to your console in development and logs errors in production
loggerLink({
enabled: opts =>
process.env.NODE_ENV === 'development' ||
(opts.direction === 'down' && opts.result instanceof Error)
}),
httpBatchLink({
url: 'http://localhost:3000/api/trpc',
headers () {
return {
...unref(headers)
}
}
})
]
})
return {
provide: {
client
}
}
})