Socket
Socket
Sign inDemoInstall

@nestjs/websockets

Package Overview
Dependencies
3
Maintainers
1
Versions
322
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 9.2.1 to 9.3.0-beta.1

interfaces/websockets-entrypoint-metadata.interface.d.ts

6

package.json
{
"name": "@nestjs/websockets",
"version": "9.2.1",
"version": "9.3.0-beta.1",
"description": "Nest - modern, fast, powerful node.js web framework (@websockets)",

@@ -20,4 +20,4 @@ "author": "Kamil Mysliwiec",

"devDependencies": {
"@nestjs/common": "9.2.1",
"@nestjs/core": "9.2.1"
"@nestjs/common": "^9.3.0-beta.1",
"@nestjs/core": "^9.3.0-beta.1"
},

@@ -24,0 +24,0 @@ "peerDependencies": {

@@ -83,3 +83,4 @@ <p align="center">

<td>
<a href="https://ridicorp.com/career/" target="_blank"><img src="https://nestjs.com/img/ridi-logo.svg" width="105" valign="middle" /></a></td></</tr></table>
<a href="https://ridicorp.com/career/" target="_blank"><img src="https://nestjs.com/img/ridi-logo.svg" width="105" valign="middle" /></a></td><td>
<a href="https://www.movavi.com/imovie-for-windows.html" target="_blank"><img src="https://nestjs.com/img/movavi-logo.svg" width="105" valign="middle" /></a></td></</tr></table>

@@ -97,3 +98,4 @@ #### Silver Sponsors

<td><a href="https://bilberrry.com/" target="_blank"><img src="https://nestjs.com/img/bilberrry-logo.svg" width="180" valign="middle" /></td>
<td><a href="https://ipinfo.ai/" target="_blank"><img src="https://nestjs.com/img/ipinfo-logo.png" width="130" valign="middle" /></td></tr>
<td><a href="https://ipinfo.ai/" target="_blank"><img src="https://nestjs.com/img/ipinfo-logo.png" width="130" valign="middle" /></td>
<td><a href="https://chax.at" target="_blank"><img src="https://nestjs.com/img/chaxat-logo.png" width="100" valign="middle" /></td></tr>
</table>

@@ -139,3 +141,4 @@

<td align="center" valign="middle"><a href="https://www.mobilefactory.jp/" target="_blank"><img src="https://nestjs.com/img/mobilefactory-logo.png" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://db.nordbot.app/" target="_blank"><img src="https://nestjs.com/img/nord-logo.png" width="50" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://nordbot.app/" target="_blank"><img src="https://nestjs.com/img/nordbot-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://doppio.sh/" target="_blank"><img src="https://nestjs.com/img/dopiosh-logo.png" width="50" valign="middle" /></a></td>
</tr></table>

@@ -142,0 +145,0 @@

import { Injectable } from '@nestjs/common/interfaces/injectable.interface';
import { NestApplicationContextOptions } from '@nestjs/common/interfaces/nest-application-context-options.interface';
import { ApplicationConfig } from '@nestjs/core/application-config';

@@ -6,3 +7,4 @@ import { NestContainer } from '@nestjs/core/injector/container';

import { InstanceToken } from '@nestjs/core/injector/module';
export declare class SocketModule<HttpServer = any> {
import { GraphInspector } from '@nestjs/core/inspector/graph-inspector';
export declare class SocketModule<THttpServer = any, TAppOptions extends NestApplicationContextOptions = NestApplicationContextOptions> {
private readonly socketsContainer;

@@ -13,3 +15,4 @@ private applicationConfig;

private httpServer;
register(container: NestContainer, config: ApplicationConfig, httpServer?: HttpServer): void;
private appOptions;
register(container: NestContainer, applicationConfig: ApplicationConfig, graphInspector: GraphInspector, appOptions: TAppOptions, httpServer?: THttpServer): void;
connectAllGateways(providers: Map<InstanceToken, InstanceWrapper<Injectable>>, moduleName: string): void;

@@ -16,0 +19,0 @@ connectGatewayToServer(wrapper: InstanceWrapper<Injectable>, moduleName: string): void;

@@ -23,8 +23,9 @@ "use strict";

}
register(container, config, httpServer) {
this.applicationConfig = config;
register(container, applicationConfig, graphInspector, appOptions, httpServer) {
this.applicationConfig = applicationConfig;
this.appOptions = appOptions;
this.httpServer = httpServer;
const contextCreator = this.getContextCreator(container);
const serverProvider = new socket_server_provider_1.SocketServerProvider(this.socketsContainer, config);
this.webSocketsController = new web_sockets_controller_1.WebSocketsController(serverProvider, config, contextCreator);
const serverProvider = new socket_server_provider_1.SocketServerProvider(this.socketsContainer, applicationConfig);
this.webSocketsController = new web_sockets_controller_1.WebSocketsController(serverProvider, applicationConfig, contextCreator, graphInspector, this.appOptions);
const modules = container.getModules();

@@ -47,3 +48,3 @@ modules.forEach(({ providers }, moduleName) => this.connectAllGateways(providers, moduleName));

}
this.webSocketsController.connectGatewayToServer(instance, metatype, moduleName);
this.webSocketsController.connectGatewayToServer(instance, metatype, moduleName, wrapper.id);
}

@@ -50,0 +51,0 @@ async close() {

@@ -0,3 +1,5 @@

import { NestApplicationContextOptions } from '@nestjs/common/interfaces/nest-application-context-options.interface';
import { Type } from '@nestjs/common/interfaces/type.interface';
import { ApplicationConfig } from '@nestjs/core/application-config';
import { GraphInspector } from '@nestjs/core/inspector/graph-inspector';
import { Observable, Subject } from 'rxjs';

@@ -14,7 +16,9 @@ import { WsContextCreator } from './context/ws-context-creator';

private readonly contextCreator;
private readonly graphInspector;
private readonly appOptions;
private readonly logger;
private readonly metadataExplorer;
constructor(socketServerProvider: SocketServerProvider, config: ApplicationConfig, contextCreator: WsContextCreator);
connectGatewayToServer(instance: NestGateway, metatype: Type<unknown> | Function, moduleKey: string): void;
subscribeToServerEvents<T extends GatewayMetadata>(instance: NestGateway, options: T, port: number, moduleKey: string): void;
constructor(socketServerProvider: SocketServerProvider, config: ApplicationConfig, contextCreator: WsContextCreator, graphInspector: GraphInspector, appOptions?: NestApplicationContextOptions);
connectGatewayToServer(instance: NestGateway, metatype: Type<unknown> | Function, moduleKey: string, instanceWrapperId: string): void;
subscribeToServerEvents<T extends GatewayMetadata>(instance: NestGateway, options: T, port: number, moduleKey: string, instanceWrapperId: string): void;
subscribeEvents(instance: NestGateway, subscribersMap: MessageMappingProperties[], observableServer: ServerAndEventStreamsHost): void;

@@ -27,4 +31,5 @@ getConnectionHandler(context: WebSocketsController, instance: NestGateway, subscribersMap: MessageMappingProperties[], disconnect: Subject<any>, connection: Subject<any>): (...args: unknown[]) => void;

pickResult(deferredResult: Promise<any>): Promise<Observable<any>>;
inspectEntrypointDefinitions(instance: NestGateway, port: number, messageHandlers: MessageMappingProperties[], instanceWrapperId: string): void;
private assignServerToProperties;
private printSubscriptionLogs;
}

@@ -13,6 +13,8 @@ "use strict";

class WebSocketsController {
constructor(socketServerProvider, config, contextCreator) {
constructor(socketServerProvider, config, contextCreator, graphInspector, appOptions = {}) {
this.socketServerProvider = socketServerProvider;
this.config = config;
this.contextCreator = contextCreator;
this.graphInspector = graphInspector;
this.appOptions = appOptions;
this.logger = new logger_service_1.Logger(WebSocketsController.name, {

@@ -23,3 +25,3 @@ timestamp: true,

}
connectGatewayToServer(instance, metatype, moduleKey) {
connectGatewayToServer(instance, metatype, moduleKey, instanceWrapperId) {
const options = Reflect.getMetadata(constants_1.GATEWAY_OPTIONS, metatype) || {};

@@ -30,5 +32,5 @@ const port = Reflect.getMetadata(constants_1.PORT_METADATA, metatype) || 0;

}
this.subscribeToServerEvents(instance, options, port, moduleKey);
this.subscribeToServerEvents(instance, options, port, moduleKey, instanceWrapperId);
}
subscribeToServerEvents(instance, options, port, moduleKey) {
subscribeToServerEvents(instance, options, port, moduleKey, instanceWrapperId) {
const nativeMessageHandlers = this.metadataExplorer.explore(instance);

@@ -40,2 +42,6 @@ const messageHandlers = nativeMessageHandlers.map(({ callback, message, methodName }) => ({

}));
this.inspectEntrypointDefinitions(instance, port, messageHandlers, instanceWrapperId);
if (this.appOptions.preview) {
return;
}
const observableServer = this.socketServerProvider.scanForSocketServer(options, port);

@@ -103,2 +109,18 @@ this.assignServerToProperties(instance, observableServer.server);

}
inspectEntrypointDefinitions(instance, port, messageHandlers, instanceWrapperId) {
messageHandlers.forEach(handler => {
var _a;
this.graphInspector.insertEntrypointDefinition({
type: 'websocket',
methodName: handler.methodName,
className: (_a = instance.constructor) === null || _a === void 0 ? void 0 : _a.name,
classNodeId: instanceWrapperId,
metadata: {
port,
key: handler.message,
message: handler.message,
},
}, instanceWrapperId);
});
}
assignServerToProperties(instance, server) {

@@ -105,0 +127,0 @@ for (const propertyKey of this.metadataExplorer.scanForServerHooks(instance)) {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc