bugfix(microservices): fix pattern regression

This commit is contained in:
Kamil Myśliwiec
2019-07-10 11:42:18 +02:00
parent 6ff7859976
commit 3774fed640
3 changed files with 19 additions and 15 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/core",
"version": "6.5.1",
"version": "6.5.2",
"description": "Modern, fast, powerful node.js web framework",
"scripts": {
"coverage": "nyc report --reporter=text-lcov | coveralls",

View File

@@ -47,9 +47,9 @@ describe('transformPatternToRoute', () => {
];
const expectedResults = [
`{controller:app/use:getHello}`,
`{controller:app/use:getHello}`,
`{controller:app/id:150/service:one/use:getHello}`,
JSON.stringify(testPatterns[0]),
`{"controller":"app","use":"getHello"}`,
`{"controller":"app","id":150,"service":"one","use":"getHello"}`,
];
equalTest(testPatterns, expectedResults);
@@ -60,7 +60,7 @@ describe('transformPatternToRoute', () => {
const testPatterns = [
{
controller: 'app',
use: { p1: 'path1', p2: 'path2' },
use: { p1: 'path1', p2: 'path2', p3: 10 },
},
{
use: { p1: 'path1', p2: 'path2' },
@@ -74,9 +74,9 @@ describe('transformPatternToRoute', () => {
];
const expectedResults = [
`{controller:app/use:{p1:path1/p2:path2}}`,
`{controller:app/use:{p1:path1/p2:path2}}`,
`{controller:app/service:one/use:{id:160/p1:path1/p2:path2}}`,
JSON.stringify(testPatterns[0]),
`{"controller":"app","use":{"p1":"path1","p2":"path2"}}`,
`{"controller":"app","service":"one","use":{"id":160,"p1":"path1","p2":"path2"}}`,
];
equalTest(testPatterns, expectedResults);
@@ -101,9 +101,9 @@ describe('transformPatternToRoute', () => {
];
const expectedResults = [
`{controller:app/use:{p1:path1/p2:{pp1:ppath1}}}`,
`{controller:{p2:path2}/use:{p1:path1}}`,
`{controller:{p1:{id:180/pp1:ppath1}}/service:one/use:{p1:path1/p2:{pp1:ppath1}}}`,
JSON.stringify(testPatterns[0]),
`{"controller":{"p2":"path2"},"use":{"p1":"path1"}}`,
`{"controller":{"p1":{"id":180,"pp1":"ppath1"}},"service":"one","use":{"p1":"path1","p2":{"pp1":"ppath1"}}}`,
];
equalTest(testPatterns, expectedResults);

View File

@@ -26,10 +26,14 @@ export function transformPatternToRoute(pattern: MsPattern): string {
);
// Creates the array of Pattern params from sorted keys and their corresponding values
const sortedPatternParams = sortedKeys.map(
key => `${key}:${transformPatternToRoute(pattern[key])}`,
);
const sortedPatternParams = sortedKeys.map(key => {
let partialRoute = `"${key}":`;
partialRoute += isString(pattern[key])
? `"${transformPatternToRoute(pattern[key])}"`
: transformPatternToRoute(pattern[key]);
return partialRoute;
});
const route = sortedPatternParams.join('/');
const route = sortedPatternParams.join(',');
return `{${route}}`;
}