Skip to content

Commit c6d9f56

Browse files
committed
Merge branch 'master' into feature/cancelable
2 parents f9a73a0 + 3711715 commit c6d9f56

File tree

6 files changed

+90
-9
lines changed

6 files changed

+90
-9
lines changed

src/openApi/v2/parser/getOperationResults.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ function areEqual(a: Model, b: Model): boolean {
1212
export function getOperationResults(operationResponses: OperationResponse[]): OperationResponse[] {
1313
const operationResults: OperationResponse[] = [];
1414

15+
// Filter out success response codes, but skip "204 No Content"
1516
operationResponses.forEach(operationResponse => {
16-
if (operationResponse.code && operationResponse.code >= 200 && operationResponse.code < 300) {
17+
const { code } = operationResponse;
18+
if (code && code !== 204 && code >= 200 && code < 300) {
1719
operationResults.push(operationResponse);
1820
}
1921
});
@@ -24,9 +26,9 @@ export function getOperationResults(operationResponses: OperationResponse[]): Op
2426
name: '',
2527
code: 200,
2628
description: '',
27-
export: 'interface',
28-
type: 'any',
29-
base: 'any',
29+
export: 'generic',
30+
type: 'void',
31+
base: 'void',
3032
template: null,
3133
link: null,
3234
isDefinition: false,

src/openApi/v3/parser/getOperationResponses.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ export function getOperationResponses(openApi: OpenApi, responses: OpenApiRespon
1818
const responseCode = getOperationResponseCode(code);
1919

2020
if (responseCode) {
21-
operationResponses.push(getOperationResponse(openApi, response, responseCode));
21+
const operationResponse = getOperationResponse(openApi, response, responseCode);
22+
operationResponses.push(operationResponse);
2223
}
2324
}
2425
}

src/openApi/v3/parser/getOperationResults.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ function areEqual(a: Model, b: Model): boolean {
1212
export function getOperationResults(operationResponses: OperationResponse[]): OperationResponse[] {
1313
const operationResults: OperationResponse[] = [];
1414

15+
// Filter out success response codes, but skip "204 No Content"
1516
operationResponses.forEach(operationResponse => {
16-
if (operationResponse.code && operationResponse.code >= 200 && operationResponse.code < 300) {
17+
const { code } = operationResponse;
18+
if (code && code !== 204 && code >= 200 && code < 300) {
1719
operationResults.push(operationResponse);
1820
}
1921
});
@@ -24,9 +26,9 @@ export function getOperationResults(operationResponses: OperationResponse[]): Op
2426
name: '',
2527
code: 200,
2628
description: '',
27-
export: 'interface',
28-
type: 'any',
29-
base: 'any',
29+
export: 'generic',
30+
type: 'void',
31+
base: 'void',
3032
template: null,
3133
link: null,
3234
isDefinition: false,

test/__snapshots__/index.spec.js.snap

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,7 @@ export { ComplexService } from './services/ComplexService';
389389
export { DefaultsService } from './services/DefaultsService';
390390
export { DuplicateService } from './services/DuplicateService';
391391
export { HeaderService } from './services/HeaderService';
392+
export { NoContentService } from './services/NoContentService';
392393
export { ParametersService } from './services/ParametersService';
393394
export { ResponseService } from './services/ResponseService';
394395
export { SimpleService } from './services/SimpleService';
@@ -2024,6 +2025,30 @@ export class HeaderService {
20242025
}"
20252026
`;
20262027

2028+
exports[`v2 should generate: ./test/generated/v2/services/NoContentService.ts 1`] = `
2029+
"/* istanbul ignore file */
2030+
/* tslint:disable */
2031+
/* eslint-disable */
2032+
import { request as __request } from '../core/request';
2033+
import { OpenAPI } from '../core/OpenAPI';
2034+
2035+
export class NoContentService {
2036+
2037+
/**
2038+
* @returns void
2039+
* @throws ApiError
2040+
*/
2041+
public static async callWithNoContentResponse(): Promise<void> {
2042+
const result = await __request({
2043+
method: 'GET',
2044+
path: \`/api/v\${OpenAPI.VERSION}/no-content\`,
2045+
});
2046+
return result.body;
2047+
}
2048+
2049+
}"
2050+
`;
2051+
20272052
exports[`v2 should generate: ./test/generated/v2/services/ParametersService.ts 1`] = `
20282053
"/* istanbul ignore file */
20292054
/* tslint:disable */
@@ -2717,6 +2742,7 @@ export { DefaultsService } from './services/DefaultsService';
27172742
export { DuplicateService } from './services/DuplicateService';
27182743
export { HeaderService } from './services/HeaderService';
27192744
export { MultipartService } from './services/MultipartService';
2745+
export { NoContentService } from './services/NoContentService';
27202746
export { ParametersService } from './services/ParametersService';
27212747
export { RequestBodyService } from './services/RequestBodyService';
27222748
export { ResponseService } from './services/ResponseService';
@@ -4672,6 +4698,30 @@ export class MultipartService {
46724698
}"
46734699
`;
46744700

4701+
exports[`v3 should generate: ./test/generated/v3/services/NoContentService.ts 1`] = `
4702+
"/* istanbul ignore file */
4703+
/* tslint:disable */
4704+
/* eslint-disable */
4705+
import { request as __request } from '../core/request';
4706+
import { OpenAPI } from '../core/OpenAPI';
4707+
4708+
export class NoContentService {
4709+
4710+
/**
4711+
* @returns void
4712+
* @throws ApiError
4713+
*/
4714+
public static async callWithNoContentResponse(): Promise<void> {
4715+
const result = await __request({
4716+
method: 'GET',
4717+
path: \`/api/v\${OpenAPI.VERSION}/no-content\`,
4718+
});
4719+
return result.body;
4720+
}
4721+
4722+
}"
4723+
`;
4724+
46754725
exports[`v3 should generate: ./test/generated/v3/services/ParametersService.ts 1`] = `
46764726
"/* istanbul ignore file */
46774727
/* tslint:disable */

test/spec/v2.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,19 @@
370370
"operationId": "DuplicateName"
371371
}
372372
},
373+
"/api/v{api-version}/no-content": {
374+
"get": {
375+
"tags": [
376+
"NoContent"
377+
],
378+
"operationId": "CallWithNoContentResponse",
379+
"responses": {
380+
"204": {
381+
"description": "Success"
382+
}
383+
}
384+
}
385+
},
373386
"/api/v{api-version}/response": {
374387
"get": {
375388
"tags": [

test/spec/v3.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,19 @@
539539
"operationId": "DuplicateName"
540540
}
541541
},
542+
"/api/v{api-version}/no-content": {
543+
"get": {
544+
"tags": [
545+
"NoContent"
546+
],
547+
"operationId": "CallWithNoContentResponse",
548+
"responses": {
549+
"204": {
550+
"description": "Success"
551+
}
552+
}
553+
}
554+
},
542555
"/api/v{api-version}/response": {
543556
"get": {
544557
"tags": [

0 commit comments

Comments
 (0)