import { createTRPCProxyClient, httpLink, createWSClient, wsLink, splitLink } from "@trpc/client";
import type { AppRouter } from "backend/src/trpc/appRouter.trpc";
import { browser } from '$app/environment';
let instance: ReturnType<typeof createTRPCProxyClient<AppRouter>>;
export const getTrpcClient = () => {
if (!instance) {
const websocketClient = createWSClient({
url: "ws://localhost:3001",
});
instance = createTRPCProxyClient<AppRouter>({
links: [
splitLink({
condition(op) {
return op.type === 'subscription'
},
true: wsLink({
client: websocketClient
}),
false: httpLink({
url: "http://localhost:3000/trpc",
})
})
]
});
}
return instance;
}
import { createTRPCProxyClient, httpLink, createWSClient, wsLink, splitLink } from "@trpc/client";
import type { AppRouter } from "backend/src/trpc/appRouter.trpc";
import { browser } from '$app/environment';
let instance: ReturnType<typeof createTRPCProxyClient<AppRouter>>;
export const getTrpcClient = () => {
if (!instance) {
const websocketClient = createWSClient({
url: "ws://localhost:3001",
});
instance = createTRPCProxyClient<AppRouter>({
links: [
splitLink({
condition(op) {
return op.type === 'subscription'
},
true: wsLink({
client: websocketClient
}),
false: httpLink({
url: "http://localhost:3000/trpc",
})
})
]
});
}
return instance;
}