MessageHandlerRegistry.ts
570 Bytes
import { Connection } from "../connection/Connection";
import { loginHandler } from "./handler/LoginHandler";
import { MessageType } from "./types";
export class MessageHandlerRegistry {
static registerHandlers(connection: Connection) {
this.registerHandler(connection, MessageType.LOGIN, loginHandler);
}
private static registerHandler<T>(
connection: Connection,
typeName: string,
handler: (connection: Connection, message: T) => void
) {
connection.socket.on(typeName, (message: T) => {
handler(connection, message);
});
}
}