Show HN: Socket-call – Call socket.io events like normal JavaScript functions

1 bperel 0 6/15/2025, 12:52:01 PM github.com ↗
Hello HN,

I built a Typescript library (named socket-call, for lack of a more sexy name) whose goal is to be able to call socket.io events as regular functions.

So you declare your server-side like so:

... const listenEvents = (services: UserServices) => ({ login: async (username: string) => { services._socket.data.user = { username }; console.log(`User ${username} logged in`); setInterval(() => { services.showServerMessage(`You're still logged in ${username}!`) }, 1000); return `You are now logged in ${username}!`; }, }); ...

and then on the client side you call them like normal async Javascript functions (and you can also create client-side event handlers):

... const user = socket.addNamespace<UserEmitEvents, UserListenEvents>( '/user' );

user.login(username.value).then((message) => { console.log('Server acked with', message); });

user.showServerMessage = (message) => { console.log('Server sent us the message', message); }

I use this library for my own projects and would be interested to receive feedback about it :-)

Comments (0)

No comments yet