Skip to content

Commit 88b6e34

Browse files
author
kamil.mysliwiec
committed
Alpha-21 update
1 parent 1320039 commit 88b6e34

58 files changed

Lines changed: 1266 additions & 133 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

example/modules/users/chat.gateway.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { WebSocketGateway } from '../../../src/socket/utils/socket-gateway.decorator';
2-
import { SubscribeMessage } from '../../../src/socket/utils/subscribe-message.decorator';
1+
import { WebSocketGateway } from '../../../src/websockets/utils/socket-gateway.decorator';
2+
import { SubscribeMessage } from '../../../src/websockets/utils/subscribe-message.decorator';
33
import { Subject } from 'rxjs/Subject';
4-
import { GatewayServer } from '../../../src/socket/utils/gateway-server.decorator';
4+
import { WebSocketServer } from '../../../src/websockets/utils/gateway-server.decorator';
55

66
@WebSocketGateway({ port: 2000 })
77
export class ChatGateway {
88
private msg$ = new Subject<any>();
99

10-
@GatewayServer server;
10+
@WebSocketServer() server;
1111

1212
get msgStream() {
1313
return this.msg$.asObservable();

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nest.js",
3-
"version": "1.0.0-alpha-20",
3+
"version": "1.0.0-alpha-21",
44
"description": "Modern, fast, powerful node.js web framework",
55
"main": "index.js",
66
"scripts": {

src/core/router/routes-resolver.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@ export class RoutesResolver {
1616
this.routerBuilder = new RouterBuilder(this.routerProxy, expressAdapter);
1717
}
1818

19-
resolve(expressInstance: Application) {
19+
resolve(express: Application) {
2020
const modules = this.container.getModules();
21-
modules.forEach(({ routes }) => this.setupRouters(routes, expressInstance));
21+
modules.forEach(({ routes }) => this.setupRouters(routes, express));
2222
}
2323

2424
setupRouters(
2525
routes: Map<string, InstanceWrapper<Controller>>,
26-
expressInstance: Application) {
26+
express: Application) {
2727

2828
routes.forEach(({ instance, metatype }) => {
2929
this.logger.log(getControllerMappingMessage(metatype.name));
3030

3131
const { path, router } = this.routerBuilder.build(instance, metatype);
32-
expressInstance.use(path, router);
32+
express.use(path, router);
3333
});
3434
}
3535
}

src/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
/*
22
* Nest
3-
* Copyright(c) 2017 Kamil Mysliwiec
3+
* Copyright(c) 2017-... Kamil Mysliwiec
44
* www.kamilmysliwiec.com
55
* MIT Licensed
66
*/
77

88
export * from './common'
9+
export * from './core';
910
export * from './nest-factory';
10-
export * from './core';
11+
export * from './nest-application'
12+
export * from './nest-microservice';

src/microservices/client/client-proxy.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,19 @@ export abstract class ClientProxy {
77

88
send<T>(pattern, data): Observable<T> {
99
return Observable.create((observer: Observer<T>) => {
10-
this.sendSingleMessage({pattern, data}, (err, result) => {
11-
if (err) {
12-
(<any>observer).error(err);
13-
return;
14-
}
15-
observer.next(result);
16-
observer.complete();
17-
});
10+
this.sendSingleMessage({ pattern, data }, this.createObserver(observer));
1811
});
1912
}
2013

14+
createObserver<T>(observer: Observer<T>) {
15+
return (err, result) => {
16+
if (err) {
17+
(<any>observer).error(err);
18+
return;
19+
}
20+
observer.next(result);
21+
observer.complete();
22+
}
23+
}
24+
2125
}

src/microservices/client/client-redis.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export class ClientRedis extends ClientProxy {
77
private readonly logger = new Logger(ClientProxy.name);
88
private readonly DEFAULT_URL = 'redis://localhost:6379';
99
private readonly url: string;
10+
1011
private pub: redis.RedisClient;
1112
private sub: redis.RedisClient;
1213

@@ -19,17 +20,27 @@ export class ClientRedis extends ClientProxy {
1920

2021
sendSingleMessage(msg, callback: Function) {
2122
const pattern = JSON.stringify(msg.pattern);
22-
const listener = (channel, msg) => {
23+
const subscription = (channel, msg) => {
2324
const { err, response } = JSON.parse(msg);
2425
callback(err, response);
2526

2627
this.sub.unsubscribe(this.getResPatternName(pattern));
27-
this.sub.removeListener('message', listener);
28+
this.sub.removeListener('message', subscription);
2829
};
29-
this.sub.on('message', listener);
3030

31+
this.sub.on('message', subscription);
3132
this.sub.subscribe(this.getResPatternName(pattern));
3233
this.pub.publish(this.getAckPatternName(pattern), JSON.stringify(msg));
34+
35+
return subscription;
36+
}
37+
38+
getAckPatternName(pattern: string): string {
39+
return `${pattern}_ack`;
40+
}
41+
42+
getResPatternName(pattern: string): string {
43+
return `${pattern}_res`;
3344
}
3445

3546
private init() {
@@ -48,12 +59,4 @@ export class ClientRedis extends ClientProxy {
4859
stream.on('error', (err) => this.logger.error(err));
4960
}
5061

51-
private getAckPatternName(pattern: string): string {
52-
return `${pattern}_ack`;
53-
}
54-
55-
private getResPatternName(pattern: string): string {
56-
return `${pattern}_res`;
57-
}
58-
5962
}

src/microservices/client/client-tcp.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,18 @@ export class ClientTCP extends ClientProxy {
1515
this.host = host || this.DEFAULT_HOST;
1616
}
1717

18-
sendSingleMessage(msg, callback) {
19-
jsocket.sendSingleMessageAndReceive(this.port, this.host, msg, (err, res) => {
18+
sendSingleMessage(msg, callback: Function) {
19+
jsocket.sendSingleMessageAndReceive(this.port, this.host, msg, this.createCallback(callback));
20+
}
21+
22+
createCallback(callback: Function) {
23+
return (err, res) => {
2024
if (err) {
2125
callback(err);
2226
return;
2327
}
2428
callback(res.err, res.response);
25-
});
29+
}
2630
}
2731

2832
}

src/microservices/client/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export * from './client-proxy';
2+
export * from './client-redis';
3+
export * from './client-tcp';

src/microservices/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export * from './utils';
2+
export * from './interfaces';
3+
export * from './client';
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export * from './client-metadata.interface';
2+
export * from './microservice-configuration.interface';
3+
export * from './pattern-metadata.interface';

0 commit comments

Comments
 (0)