Skip to content

Commit 05d5962

Browse files
committed
Return undefined in most cases to support noImplicitReturns rule
Filter out wrong enum values
1 parent 93d57da commit 05d5962

17 files changed

+33
-25
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4+
## [0.20.2] - 2022-02-25
5+
### Fixed
6+
- Return `undefined` to match `noImplicitReturns` rule
7+
- Made `BaseHttpRequest` class abstract
8+
- Filter out wrong enum values
9+
410
## [0.20.1] - 2022-02-25
511
### Fixed
612
- Support enums with single quotes in names for V2

src/openApi/v2/parser/getEnum.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import type { Enum } from '../../../client/interfaces/Enum';
2-
import { isDefined } from '../../../utils/isDefined';
32

43
export const getEnum = (values?: (string | number)[]): Enum[] => {
54
if (Array.isArray(values)) {
65
return values
76
.filter((value, index, arr) => {
87
return arr.indexOf(value) === index;
98
})
10-
.filter(isDefined)
9+
.filter((value: any) => {
10+
return typeof value === 'number' || typeof value === 'string';
11+
})
1112
.map(value => {
1213
if (typeof value === 'number') {
1314
return {
@@ -23,7 +24,7 @@ export const getEnum = (values?: (string | number)[]): Enum[] => {
2324
.replace(/^(\d+)/g, '_$1')
2425
.replace(/([a-z])([A-Z]+)/g, '$1_$2')
2526
.toUpperCase(),
26-
value: `'${value.replace(/'/g, "\\'")}'`,
27+
value: `'${value.replace(/'/g, '\\\'')}'`,
2728
type: 'string',
2829
description: null,
2930
};

src/openApi/v2/parser/getOperationParameterDefault.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export const getOperationParameterDefault = (
66
operationParameter: OperationParameter
77
): string | undefined => {
88
if (parameter.default === undefined) {
9-
return;
9+
return undefined;
1010
}
1111

1212
if (parameter.default === null) {
@@ -38,5 +38,5 @@ export const getOperationParameterDefault = (
3838
}
3939
}
4040

41-
return;
41+
return undefined;
4242
};

src/openApi/v3/parser/getEnum.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import type { Enum } from '../../../client/interfaces/Enum';
2-
import { isDefined } from '../../../utils/isDefined';
32

43
export const getEnum = (values?: (string | number)[]): Enum[] => {
54
if (Array.isArray(values)) {
65
return values
76
.filter((value, index, arr) => {
87
return arr.indexOf(value) === index;
98
})
10-
.filter(isDefined)
9+
.filter((value: any) => {
10+
return typeof value === 'number' || typeof value === 'string';
11+
})
1112
.map(value => {
1213
if (typeof value === 'number') {
1314
return {
@@ -23,7 +24,7 @@ export const getEnum = (values?: (string | number)[]): Enum[] => {
2324
.replace(/^(\d+)/g, '_$1')
2425
.replace(/([a-z])([A-Z]+)/g, '$1_$2')
2526
.toUpperCase(),
26-
value: `'${value.replace(/'/g, "\\'")}'`,
27+
value: `'${value.replace(/'/g, '\\\'')}'`,
2728
type: 'string',
2829
description: null,
2930
};

src/openApi/v3/parser/getModelDefault.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
33

44
export const getModelDefault = (definition: OpenApiSchema, model?: Model): string | undefined => {
55
if (definition.default === undefined) {
6-
return;
6+
return undefined;
77
}
88

99
if (definition.default === null) {
@@ -35,5 +35,5 @@ export const getModelDefault = (definition: OpenApiSchema, model?: Model): strin
3535
}
3636
}
3737

38-
return;
38+
return undefined;
3939
};

src/templates/core/angular/getRequestBody.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ const getRequestBody = (options: ApiRequestOptions): any => {
88
return JSON.stringify(options.body);
99
}
1010
}
11-
return;
11+
return undefined;
1212
};

src/templates/core/angular/getResponseBody.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ const getResponseBody = <T>(response: HttpResponse<T>): T | undefined => {
22
if (response.status !== 204 && response.body !== null) {
33
return response.body;
44
}
5-
return;
5+
return undefined;
66
};

src/templates/core/axios/getRequestBody.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ const getRequestBody = (options: ApiRequestOptions): any => {
22
if (options.body) {
33
return options.body;
44
}
5-
return;
5+
return undefined;
66
};

src/templates/core/axios/getResponseBody.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ const getResponseBody = (response: AxiosResponse<any>): any => {
22
if (response.status !== 204) {
33
return response.data;
44
}
5-
return;
5+
return undefined;
66
};

src/templates/core/fetch/getRequestBody.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ const getRequestBody = (options: ApiRequestOptions): any => {
88
return JSON.stringify(options.body);
99
}
1010
}
11-
return;
11+
return undefined;
1212
};

0 commit comments

Comments
 (0)