Skip to content

Commit eba4102

Browse files
Merge pull request nestjs#1159 from nestjs/refactor/websockets
refactor(websockets) code cleanup, improvements, refactor
2 parents 402d83f + 7c2143f commit eba4102

15 files changed

Lines changed: 53 additions & 278 deletions

packages/websockets/gateway-metadata-explorer.ts

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
1-
import { NestGateway } from './interfaces/nest-gateway.interface';
2-
import { isUndefined, isFunction } from '@nestjs/common/utils/shared.utils';
1+
import { isFunction, isUndefined } from '@nestjs/common/utils/shared.utils';
2+
import { MetadataScanner } from '@nestjs/core/metadata-scanner';
3+
import { Observable } from 'rxjs';
34
import {
5+
GATEWAY_SERVER_METADATA,
46
MESSAGE_MAPPING_METADATA,
57
MESSAGE_METADATA,
6-
GATEWAY_SERVER_METADATA,
78
} from './constants';
8-
import { MetadataScanner } from '@nestjs/core/metadata-scanner';
9-
import { Observable } from 'rxjs';
9+
import { NestGateway } from './interfaces/nest-gateway.interface';
10+
11+
export interface MessageMappingProperties {
12+
message: any;
13+
callback: (...args) => Observable<any> | Promise<any> | any;
14+
}
1015

1116
export class GatewayMetadataExplorer {
1217
constructor(private readonly metadataScanner: MetadataScanner) {}
@@ -42,22 +47,18 @@ export class GatewayMetadataExplorer {
4247

4348
public *scanForServerHooks(instance: NestGateway): IterableIterator<string> {
4449
for (const propertyKey in instance) {
45-
if (isFunction(propertyKey)) continue;
46-
50+
if (isFunction(propertyKey)) {
51+
continue;
52+
}
4753
const property = String(propertyKey);
4854
const isServer = Reflect.getMetadata(
4955
GATEWAY_SERVER_METADATA,
5056
instance,
5157
property,
5258
);
53-
if (isUndefined(isServer)) continue;
54-
55-
yield property;
59+
if (!isUndefined(isServer)) {
60+
yield property;
61+
}
5662
}
5763
}
5864
}
59-
60-
export interface MessageMappingProperties {
61-
message: any;
62-
callback: (...args) => Observable<any> | Promise<any> | any;
63-
}

packages/websockets/interfaces/gateway-middleware.interface.ts

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export * from './on-gateway-connection.interface';
2+
export * from './on-gateway-disconnect.interface';
3+
export * from './on-gateway-init.interface';

packages/websockets/interfaces/on-gateway-connection.interface.ts renamed to packages/websockets/interfaces/hooks/on-gateway-connection.interface.ts

File renamed without changes.

packages/websockets/interfaces/on-gateway-disconnect.interface.ts renamed to packages/websockets/interfaces/hooks/on-gateway-disconnect.interface.ts

File renamed without changes.

packages/websockets/interfaces/on-gateway-init.interface.ts renamed to packages/websockets/interfaces/hooks/on-gateway-init.interface.ts

File renamed without changes.
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
export * from './gateway-metadata.interface';
2-
export * from './nest-gateway.interface';
2+
export * from './hooks';
33
export * from './observable-socket-server.interface';
44
export * from './web-socket-server.interface';
5-
export * from './on-gateway-init.interface';
6-
export * from './on-gateway-connection.interface';
7-
export * from './on-gateway-disconnect.interface';
8-
export * from './gateway-middleware.interface';
95
export * from './ws-response.interface';
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { ReplaySubject, Subject } from 'rxjs';
22

3-
export interface ObservableSocketServer {
4-
server: any;
5-
init: ReplaySubject<any>;
3+
export interface ObservableSocketServer<T = any> {
4+
server: T;
5+
init: ReplaySubject<T>;
66
connection: Subject<any>;
77
disconnect: Subject<any>;
88
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export interface WebSocketServerData {
1+
export interface WebSocketServerOptions {
22
port: number;
33
namespace: string;
44
}

packages/websockets/middleware-injector.ts

Lines changed: 0 additions & 78 deletions
This file was deleted.

0 commit comments

Comments
 (0)