socket.io-controllers
Version:
Use ES6 Class with Socket.IO
36 lines (35 loc) • 1.44 kB
TypeScript
/// <reference types="socket.io" />
/// <reference types="node" />
import * as http from 'http';
export declare function setupSocketIOControllers(options: SetupSocketIOControllersOptions): SocketIO.Server;
export declare class SocketController implements SocketControllerHandling {
use(this: SocketControllerMiddleware): void;
onConnection(this: SocketControllerHandler): void;
onDisconnect(this: SocketControllerHandler): void;
onDisconnecting(this: SocketControllerHandler, reason: any): void;
onError(reason: any): void;
[x: string]: (this: SocketControllerHandler, payload: any, fn: Function) => void;
}
export interface SocketControllerHandling {
onConnection: (this: SocketControllerHandler) => void;
onDisconnect: (this: SocketControllerHandler) => void;
onDisconnecting: (this: SocketControllerHandler, reason: any) => void;
onError: (this: SocketControllerHandler, reason: any) => void;
[x: string]: (this: SocketControllerHandler, payload: any, fn: Function) => void;
}
export interface SetupSocketIOControllersOptions {
server: http.Server;
controllers: {
dir: string;
suffix?: string;
};
}
export interface SocketControllerMiddleware {
io: SocketIO.Server;
socket: SocketIO.Socket;
next: (arg?: any) => void;
}
export interface SocketControllerHandler {
io: SocketIO.Server;
socket: SocketIO.Socket;
}