• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

go-xlan / protoenum / 19782879578
52%
main: 56%

Build:
Build:
LAST BUILD BRANCH: refs/tags/v0.0.7
DEFAULT BRANCH: main
Ran 29 Nov 2025 10:51AM UTC
Jobs 4
Files 8
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Nov 2025 10:48AM UTC coverage: 52.174% (-0.1%) from 52.301%
19782879578

push

github

yangyile1990
Feat(enum): 添加标准的朴素枚举和使用泛型元数据取代描述信息

这次提交对核心的 Enum 及 Enums 结构进行了重构,通过利用 Go 泛型来显著增强类型安全性与灵活性。

主要改动包括:
- Enum 和 Enums 结构现在接受两个新的泛型类型参数:plainEnum 和 extraMeta。
- plainEnum 允许将 Protobuf 枚举与一个原生 Go 枚举类型(例如 type StatusType string)关联,从而提供编译时类型安全,并消除了对字符串查找的依赖。
- extraMeta 提供了一种通用方式来为枚举附加自定义元数据,取代了之前硬编码的 description 字段。为方便使用,依旧提供了 MetaDesc 用于处理简单的字符串描述。

因此,API 发生了如下变化:
- NewEnum 构造函数现在需要一个 plainEnum 值。
- 新增了 NewEnumWithDesc 和 NewEnumWithMeta 构造函数。
- Enum 的 Desc() 和 Hans() 方法被 Pure()(获取朴素枚举值)和 Meta()(访问元数据)取代。
- Enums 集合现在通过 plainEnum 值进行索引(GetByPure),而不是通过描述。

BREAKING CHANGE: NewEnum、Enum 和 Enums 的 API 已被修改。NewEnum 中的 description 参数已被泛型 plainEnum 替代。基于描述的查找方法(GetByDesc, GetByHans)已被移除,替换为 GetByPure。Enum 上的 Desc() 和 Hans() 方法已被移除。

54 of 90 new or added lines in 6 files covered. (60.0%)

144 of 276 relevant lines covered (52.17%)

28.7 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
0.0
0.0% internal/demos/demo1x/main.go
3
87.5
5.68% protoenums.go
8
0.0
0.0% internal/demos/demo2x/main.go
22
0.0
internal/demos/demo3x/main.go
Jobs
ID Job ID Ran Files Coverage
1 Go-stable - 19782879578.1 29 Nov 2025 10:51AM UTC 8
40.58
GitHub Action Run
2 Go-1.23.x - 19782879578.2 29 Nov 2025 10:51AM UTC 8
52.17
GitHub Action Run
3 Go-1.25.x - 19782879578.3 29 Nov 2025 10:51AM UTC 8
40.58
GitHub Action Run
4 Go-1.24.x - 19782879578.4 29 Nov 2025 10:51AM UTC 8
40.58
GitHub Action Run
Source Files on build 19782879578
  • Tree
  • List 8
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 20988b87 on github
  • Prev Build on refs/tags/v0.0.2 (#19388709974)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc