Comlink like RPC for socket.io
// server
const handlerMap = {
async foo(args: { id: string }, socket) {
return "foo:" + args.id + ":" + socket.id;
}
}
io.on("connection", socket => {
buildSocket(socket, handlerMap);
});
// client
import { wrapSocket } from "slink";
const socket = io();
socket.on("connect", async () => {
const wrapped = wrapSocket(socket);
const res = await wrapped.call("foo", { id: 'a' });
});