@nestjs/websockets
Version:
Nest - modern, fast, powerful node.js web framework (@websockets)
45 lines (44 loc) • 3.92 kB
TypeScript
import { Observable, Subject } from 'rxjs';
import { WsContextCreator } from './context/ws-context-creator.js';
import { MessageMappingProperties } from './gateway-metadata-explorer.js';
import { GatewayMetadata } from './interfaces/gateway-metadata.interface.js';
import { NestGateway } from './interfaces/nest-gateway.interface.js';
import { ServerAndEventStreamsHost } from './interfaces/server-and-event-streams-host.interface.js';
import { SocketServerProvider } from './socket-server-provider.js';
import type { NestApplicationContextOptions } from '@nestjs/common/internal';
import { type Type } from '@nestjs/common';
import { type ApplicationConfig, type ContextId, type GraphInspector, type NestContainer } from '@nestjs/core';
import { type Injector, type InstanceWrapper, type Module } from '@nestjs/core/internal';
import { ExceptionFiltersContext } from './context/exception-filters-context.js';
export declare class WebSocketsController {
private readonly socketServerProvider;
private readonly config;
private readonly contextCreator;
private readonly container;
private readonly injector;
private readonly exceptionFiltersContext;
private readonly graphInspector;
private readonly appOptions;
private readonly logger;
private readonly metadataExplorer;
private readonly exceptionFiltersCache;
constructor(socketServerProvider: SocketServerProvider, config: ApplicationConfig, contextCreator: WsContextCreator, container: NestContainer, injector: Injector, exceptionFiltersContext: ExceptionFiltersContext, graphInspector: GraphInspector, appOptions?: NestApplicationContextOptions);
connectGatewayToServer(instanceWrapper: InstanceWrapper<NestGateway>, moduleKey: string): void;
connectGatewayToServer(instance: NestGateway, metatype: Type<unknown> | Function, moduleKey: string, instanceWrapperId: string): void;
subscribeToServerEvents<T extends GatewayMetadata>(instanceWrapper: InstanceWrapper<NestGateway>, options: T, port: number, moduleKey: string, instanceWrapperId: string): void;
subscribeToServerEvents<T extends GatewayMetadata>(instance: NestGateway, options: T, port: number, moduleKey: string, instanceWrapperId: string): void;
subscribeEvents(instanceWrapper: InstanceWrapper<NestGateway>, subscribersMap: MessageMappingProperties[], observableServer: ServerAndEventStreamsHost, connectionHandler?: Function, disconnectHandler?: Function): void;
getConnectionHandler(context: WebSocketsController, instance: NestGateway, subscribersMap: MessageMappingProperties[], disconnect: Subject<any>, connection: Subject<any>): (...args: unknown[]) => void;
subscribeInitEvent(instance: NestGateway, event: Subject<any>): void;
subscribeConnectionEvent(handlerOrGateway: Function | NestGateway | undefined, event: Subject<any>): void;
subscribeDisconnectEvent(handlerOrGateway: Function | NestGateway | undefined, event: Subject<any>): void;
subscribeMessages<T = any>(subscribersMap: MessageMappingProperties[], client: T, instance: NestGateway): void;
pickResult(deferredResult: Promise<any>): Promise<Observable<any>>;
inspectEntrypointDefinitions(instance: NestGateway, port: number, messageHandlers: MessageMappingProperties[], instanceWrapperId: string): void;
createRequestScopedHandler(instanceWrapper: InstanceWrapper<NestGateway>, moduleRef: Module, moduleKey: string, methodName: string): (...args: unknown[]) => Promise<void>;
createRequestScopedEventHandler(instanceWrapper: InstanceWrapper<NestGateway>, moduleRef: Module, moduleKey: string, methodName: 'handleConnection' | 'handleDisconnect', server: object): (...args: unknown[]) => Promise<unknown>;
getContextId<T extends Record<any, unknown> = any>(request: T, isTreeDurable: boolean): ContextId;
private cleanupRequestScopedContext;
private assignServerToProperties;
private printSubscriptionLogs;
}