Skip to content

Commit 9465e0e

Browse files
committedMar 9, 2024··
fix(plugin): ensure open-api docs generation for types named with Promise or Observable
1 parent 2ee9b7c commit 9465e0e

File tree

2 files changed

+51
-1
lines changed

2 files changed

+51
-1
lines changed
 

‎lib/plugin/utils/plugin-utils.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ export function getTypeReferenceAsString(
125125
}
126126

127127
export function isPromiseOrObservable(type: string) {
128-
return type.includes('Promise') || type.includes('Observable');
128+
return type.includes('Promise<') || type.includes('Observable<');
129129
}
130130

131131
export function hasPropertyKey(

‎test/plugin/fixtures/app.controller.ts

+50
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ import { ApiOperation } from '@nestjs/swagger';
33
44
class Cat {}
55
6+
class PromiseCat {}
7+
8+
class ObservableCat {}
9+
610
@Controller('cats')
711
export class AppController {
812
onApplicationBootstrap() {}
@@ -39,6 +43,24 @@ export class AppController {
3943
@Post()
4044
async testCreate2(): Promise<Cat> {}
4145
46+
/**
47+
* create a test PromiseCat
48+
*
49+
* @returns {Promise<PromiseCat>>}
50+
* @memberof AppController
51+
*/
52+
@Post()
53+
async testCreate3(): Promise<PromiseCat> {}
54+
55+
/**
56+
* create a test ObservableCat
57+
*
58+
* @returns {Promise<ObservableCat>}
59+
* @memberof AppController
60+
*/
61+
@Post()
62+
async testCreate4(): Promise<ObservableCat> {}
63+
4264
/**
4365
* find a Cat
4466
*/
@@ -68,6 +90,10 @@ const common_1 = require(\"@nestjs/common\");
6890
const swagger_1 = require(\"@nestjs/swagger\");
6991
class Cat {
7092
}
93+
class PromiseCat {
94+
}
95+
class ObservableCat {
96+
}
7197
let AppController = exports.AppController = class AppController {
7298
onApplicationBootstrap() { }
7399
/**
@@ -95,6 +121,20 @@ let AppController = exports.AppController = class AppController {
95121
* @memberof AppController
96122
*/
97123
async testCreate2() { }
124+
/**
125+
* create a test PromiseCat
126+
*
127+
* @returns {Promise<PromiseCat>>}
128+
* @memberof AppController
129+
*/
130+
async testCreate3() { }
131+
/**
132+
* create a test ObservableCat
133+
*
134+
* @returns {Promise<ObservableCat>}
135+
* @memberof AppController
136+
*/
137+
async testCreate4() { }
98138
/**
99139
* find a Cat
100140
*/
@@ -122,6 +162,16 @@ __decorate([
122162
(0, common_1.Post)(),
123163
openapi.ApiResponse({ status: 201, type: Cat })
124164
], AppController.prototype, \"testCreate2\", null);
165+
__decorate([
166+
openapi.ApiOperation({ summary: \"create a test PromiseCat\" }),
167+
(0, common_1.Post)(),
168+
openapi.ApiResponse({ status: 201, type: PromiseCat })
169+
], AppController.prototype, \"testCreate3\", null);
170+
__decorate([
171+
openapi.ApiOperation({ summary: \"create a test ObservableCat\" }),
172+
(0, common_1.Post)(),
173+
openapi.ApiResponse({ status: 201, type: ObservableCat })
174+
], AppController.prototype, \"testCreate4\", null);
125175
__decorate([
126176
(0, swagger_1.ApiOperation)({ summary: \"find a Cat\" }),
127177
Get(),

0 commit comments

Comments
 (0)
Please sign in to comment.