
tRPC Has a Free API You're Not Using
tRPC gives you end-to-end type safety between your frontend and backend without code generation or schemas. But most developers only use basic queries and mutations. The Free APIs You're Missing 1. Subscriptions — Real-Time Data with WebSockets // server import { observable } from " @trpc/server/observable " ; import { EventEmitter } from " events " ; const ee = new EventEmitter (); const appRouter = router ({ onNewMessage : publicProcedure . subscription (() => { return observable < Message > (( emit ) => { const handler = ( msg : Message ) => emit . next ( msg ); ee . on ( " message " , handler ); return () => ee . off ( " message " , handler ); }); }), sendMessage : publicProcedure . input ( z . object ({ text : z . string () })) . mutation (({ input }) => { const msg = { id : crypto . randomUUID (), text : input . text }; ee . emit ( " message " , msg ); return msg ; }), }); // client const { data } = trpc . onNewMessage . useSubscription ( undefined , { onData : ( msg ) => console
Continue reading on Dev.to Webdev
Opens in a new tab


