trpc-sveltekit
Version:
SvelteKit adapter for tRPC.io, working with Node.js, Vercel and Netlify
21 lines (20 loc) • 714 B
JavaScript
import { applyWSSHandler } from '@trpc/server/adapters/ws';
import { GlobalThisWSS } from './svelteKitServer.js';
export async function createTRPCWebSocketServer({ router, createContext }) {
const wss = globalThis[GlobalThisWSS];
if (typeof wss === 'undefined') {
// Websocket server not created
console.error("WebSocket server not found but 'createTRPCWebSocketServer' had been called");
// Prerendering with websockets is not implemented
// TODO: Fallback to REST for non subscriptions?
process.exit(1);
}
else {
wss.removeAllListeners();
applyWSSHandler({
createContext,
router,
wss
});
}
}