Skip to content

Commit 296a6ac

Browse files
[typescript-fetch] Restore pre-es2017 compatibility in modelEnum template (OpenAPITools#18418)
* [typescript-fetch] Restore pre-es2017 compatibility in modelEnum template Restore pre-es2017 compatibility in modelEnum template by not using Object.values in instanceOf{{classname}} function * [typescript-fetch] Regenerate samples * [typescript-fetch] Regenerate samples documentation * [typescript-fetch] Add curly brackets * [typescript-fetch] Regenerate samples * [typescript-fetch] Use typed comparison Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com> * [typescript-fetch] Regenerate samples --------- Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
1 parent fde8c77 commit 296a6ac

22 files changed

Lines changed: 176 additions & 22 deletions

File tree

modules/openapi-generator/src/main/resources/typescript-fetch/modelEnum.mustache

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
{{>modelEnumInterfaces}}
22

33
export function instanceOf{{classname}}(value: any): boolean {
4-
return Object.values({{classname}}).includes(value);
4+
for (const key in {{classname}}) {
5+
if (Object.prototype.hasOwnProperty.call({{classname}}, key)) {
6+
if ({{classname}}[key] === value) {
7+
return true;
8+
}
9+
}
10+
}
11+
return false;
512
}
613

714
export function {{classname}}FromJSON(json: any): {{classname}} {

samples/client/petstore/typescript-fetch/builds/default-v3.0/models/EnumClass.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ export type EnumClass = typeof EnumClass[keyof typeof EnumClass];
2626

2727

2828
export function instanceOfEnumClass(value: any): boolean {
29-
return Object.values(EnumClass).includes(value);
29+
for (const key in EnumClass) {
30+
if (Object.prototype.hasOwnProperty.call(EnumClass, key)) {
31+
if (EnumClass[key] === value) {
32+
return true;
33+
}
34+
}
35+
}
36+
return false;
3037
}
3138

3239
export function EnumClassFromJSON(json: any): EnumClass {

samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterEnum.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ export type OuterEnum = typeof OuterEnum[keyof typeof OuterEnum];
2626

2727

2828
export function instanceOfOuterEnum(value: any): boolean {
29-
return Object.values(OuterEnum).includes(value);
29+
for (const key in OuterEnum) {
30+
if (Object.prototype.hasOwnProperty.call(OuterEnum, key)) {
31+
if (OuterEnum[key] === value) {
32+
return true;
33+
}
34+
}
35+
}
36+
return false;
3037
}
3138

3239
export function OuterEnumFromJSON(json: any): OuterEnum {

samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterEnumDefaultValue.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ export type OuterEnumDefaultValue = typeof OuterEnumDefaultValue[keyof typeof Ou
2626

2727

2828
export function instanceOfOuterEnumDefaultValue(value: any): boolean {
29-
return Object.values(OuterEnumDefaultValue).includes(value);
29+
for (const key in OuterEnumDefaultValue) {
30+
if (Object.prototype.hasOwnProperty.call(OuterEnumDefaultValue, key)) {
31+
if (OuterEnumDefaultValue[key] === value) {
32+
return true;
33+
}
34+
}
35+
}
36+
return false;
3037
}
3138

3239
export function OuterEnumDefaultValueFromJSON(json: any): OuterEnumDefaultValue {

samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterEnumInteger.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ export type OuterEnumInteger = typeof OuterEnumInteger[keyof typeof OuterEnumInt
2626

2727

2828
export function instanceOfOuterEnumInteger(value: any): boolean {
29-
return Object.values(OuterEnumInteger).includes(value);
29+
for (const key in OuterEnumInteger) {
30+
if (Object.prototype.hasOwnProperty.call(OuterEnumInteger, key)) {
31+
if (OuterEnumInteger[key] === value) {
32+
return true;
33+
}
34+
}
35+
}
36+
return false;
3037
}
3138

3239
export function OuterEnumIntegerFromJSON(json: any): OuterEnumInteger {

samples/client/petstore/typescript-fetch/builds/default-v3.0/models/OuterEnumIntegerDefaultValue.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ export type OuterEnumIntegerDefaultValue = typeof OuterEnumIntegerDefaultValue[k
2626

2727

2828
export function instanceOfOuterEnumIntegerDefaultValue(value: any): boolean {
29-
return Object.values(OuterEnumIntegerDefaultValue).includes(value);
29+
for (const key in OuterEnumIntegerDefaultValue) {
30+
if (Object.prototype.hasOwnProperty.call(OuterEnumIntegerDefaultValue, key)) {
31+
if (OuterEnumIntegerDefaultValue[key] === value) {
32+
return true;
33+
}
34+
}
35+
}
36+
return false;
3037
}
3138

3239
export function OuterEnumIntegerDefaultValueFromJSON(json: any): OuterEnumIntegerDefaultValue {

samples/client/petstore/typescript-fetch/builds/default-v3.0/models/SingleRefType.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,14 @@ export type SingleRefType = typeof SingleRefType[keyof typeof SingleRefType];
2525

2626

2727
export function instanceOfSingleRefType(value: any): boolean {
28-
return Object.values(SingleRefType).includes(value);
28+
for (const key in SingleRefType) {
29+
if (Object.prototype.hasOwnProperty.call(SingleRefType, key)) {
30+
if (SingleRefType[key] === value) {
31+
return true;
32+
}
33+
}
34+
}
35+
return false;
2936
}
3037

3138
export function SingleRefTypeFromJSON(json: any): SingleRefType {

samples/client/petstore/typescript-fetch/builds/enum/models/NumberEnum.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ export type NumberEnum = typeof NumberEnum[keyof typeof NumberEnum];
2626

2727

2828
export function instanceOfNumberEnum(value: any): boolean {
29-
return Object.values(NumberEnum).includes(value);
29+
for (const key in NumberEnum) {
30+
if (Object.prototype.hasOwnProperty.call(NumberEnum, key)) {
31+
if (NumberEnum[key] === value) {
32+
return true;
33+
}
34+
}
35+
}
36+
return false;
3037
}
3138

3239
export function NumberEnumFromJSON(json: any): NumberEnum {

samples/client/petstore/typescript-fetch/builds/enum/models/StringEnum.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ export type StringEnum = typeof StringEnum[keyof typeof StringEnum];
2626

2727

2828
export function instanceOfStringEnum(value: any): boolean {
29-
return Object.values(StringEnum).includes(value);
29+
for (const key in StringEnum) {
30+
if (Object.prototype.hasOwnProperty.call(StringEnum, key)) {
31+
if (StringEnum[key] === value) {
32+
return true;
33+
}
34+
}
35+
}
36+
return false;
3037
}
3138

3239
export function StringEnumFromJSON(json: any): StringEnum {

samples/client/petstore/typescript-fetch/builds/sagas-and-records/src/models/BehaviorType.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ export type BehaviorType = typeof BehaviorType[keyof typeof BehaviorType];
2626

2727

2828
export function instanceOfBehaviorType(value: any): boolean {
29-
return Object.values(BehaviorType).includes(value);
29+
for (const key in BehaviorType) {
30+
if (Object.prototype.hasOwnProperty.call(BehaviorType, key)) {
31+
if (BehaviorType[key] === value) {
32+
return true;
33+
}
34+
}
35+
}
36+
return false;
3037
}
3138

3239
export function BehaviorTypeFromJSON(json: any): BehaviorType {

0 commit comments

Comments
 (0)