Skip to content

Commit f86c0e3

Browse files
KamilKamil
authored andcommitted
Merge branch 'message_pattern_string-key' of https://github.com/RivaCode/nest into RivaCode-message_pattern_string-key
2 parents f3c28f5 + 7e47100 commit f86c0e3

2 files changed

Lines changed: 17 additions & 6 deletions

File tree

packages/microservices/server/server.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import { Logger } from '@nestjs/common/services/logger.service';
22
import { loadPackage } from '@nestjs/common/utils/load-package.util';
33
import { isFunction } from '@nestjs/common/utils/shared.utils';
4-
import { EMPTY as empty, Observable, Subscription, from as fromPromise, of } from 'rxjs';
4+
import {
5+
EMPTY as empty,
6+
Observable,
7+
Subscription,
8+
from as fromPromise,
9+
of,
10+
} from 'rxjs';
511
import { catchError, finalize } from 'rxjs/operators';
612
import { MessageHandlers } from '../interfaces/message-handlers.interface';
713
import { MicroserviceOptions, WritePacket } from './../interfaces';
@@ -24,7 +30,8 @@ export abstract class Server {
2430
pattern: any,
2531
callback: (data) => Promise<Observable<any>>,
2632
) {
27-
this.messageHandlers[JSON.stringify(pattern)] = callback;
33+
const key = typeof pattern === 'string' ? pattern : JSON.stringify(pattern);
34+
this.messageHandlers[key] = callback;
2835
}
2936

3037
public send(

packages/microservices/test/server/server.spec.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class TestServer extends Server {
1111
describe('Server', () => {
1212
const server = new TestServer();
1313
const callback = () => {},
14-
pattern = { test: 'test' };
14+
pattern = { test: 'test pattern' };
1515

1616
describe('add', () => {
1717
it(`should add handler as a stringified pattern key`, () => {
@@ -20,6 +20,12 @@ describe('Server', () => {
2020
const handlers = server.getHandlers();
2121
expect(handlers[JSON.stringify(pattern)]).to.equal(callback);
2222
});
23+
24+
it(`should add handler as string pattern key`, () => {
25+
server.addHandler(pattern.test, callback as any);
26+
const handlers = server.getHandlers();
27+
expect(handlers[pattern.test]).to.equal(callback);
28+
});
2329
});
2430
describe('send', () => {
2531
let stream$: Observable<string>;
@@ -73,9 +79,7 @@ describe('Server', () => {
7379
it('should returns Observable', async () => {
7480
const value = 100;
7581
expect(
76-
await server
77-
.transformToObservable(of(value))
78-
.toPromise(),
82+
await server.transformToObservable(of(value)).toPromise(),
7983
).to.be.eq(100);
8084
});
8185
});

0 commit comments

Comments
 (0)