mirror of
https://github.com/ArthurDanjou/trpc-nuxt.git
synced 2026-01-14 12:14:40 +01:00
33 lines
839 B
TypeScript
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
|
|
}
|
|
}
|
|
})
|