@loopback/socketio
Version:
LoopBack's WebSocket server based on socket.io
38 lines (37 loc) • 1.41 kB
TypeScript
import { Constructor, Context, DecoratorType, MetadataAccessor, MetadataMap } from '@loopback/core';
import { Socket } from 'socket.io';
type SocketIoEventMatcherInfo = {
matcher: string | RegExp;
methodNames: string[];
};
/**
* Request context for a socket.io request
*/
export declare class SocketIoConnectionContext extends Context {
readonly socket: Socket;
constructor(socket: Socket, parent: Context);
}
/**
* A factory to instantiate socket.io controllers
*/
export declare class SocketIoControllerFactory {
private controllerClass;
private controller;
readonly connCtx: SocketIoConnectionContext;
constructor(parentCtx: Context, controllerClass: Constructor<object>, socket: Socket);
create(): Promise<{
[method: string]: Function;
}>;
/**
* Set up the controller for the given socket
*/
setup(): Promise<void>;
connect(): Promise<void>;
protected registerSubscribeMethods(): void;
getDecoratedMethodsForConnect(): MetadataMap<boolean>;
getDecorateSubscribeMethodsByEventName(): Map<string, SocketIoEventMatcherInfo>;
protected getDecorateSubscribeMethods(): MetadataMap<(string | RegExp)[]>;
protected getAllMethodMetadataForKey<V, DT extends DecoratorType>(metadataAccessor: MetadataAccessor<V, DT>): MetadataMap<V>;
getCallback(methodName: string): (...args: unknown[]) => Promise<void>;
}
export {};