acacode / acacode/swagger-typescript-api

Enum with exactly opposite negative and positive integer values results in duplicate enum entries

未关闭
#474 2 条评论 4 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
4.1k
派生
436
PR 合并指标
30 天内没有已合并 PR

描述

When schema contains enums with integer values, their member names are generated as `Value${absoluteValueOfActualValue}`, which causes `Value${absoluteValueOfActualValue}` == `Value${actualValue}`, so when enums have negative and positive values of the same absolute value, they are generated with identical names.

This swagger.json entry:
```
"AddressFamily": {
"enum": [
0,
1,
2,
3,
4,
<...>
29,
65536,
65537,
-1,
],
"type": "integer",
"format": "int32"
},
```

results in this incorrect typescript enum, since `Value1` is duplicate enum member name:

```
export enum AddressFamily {
Value0 = 0,
Value1 = 1,
Value2 = 2,
Value3 = 3,
Value4 = 4,
<...>
Value29 = 29,
Value65536 = 65536,
Value65537 = 65537,
Value1 = -1,
}
```

It broke after release of v12, as previously these were generated as `type` and worked fine:
```
export type AddressFamily =
| 0
| 1
| 2
| 3
| 4
<...>
| 29
| 65536
| 65537
| -1;
```

latest tested: v12.0.2

Thanks and let me know if you need any extra info

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。