protoenum
provides utilities for managing Protobuf enum metadata in Go. It wraps Protobuf enum values with custom descriptions and offers a enums-map for easy lookup by code, name, description.
Install the package with:
go get github.com/go-xlan/protoenum
Create an enum descriptor with a custom description:
import "github.com/go-xlan/protoenum"
status := protoenum.NewEnum(yourpackage.StatusEnum_SUCCESS, "Success")
println(status.Code()) // Outputs: enum numeric code
println(status.Name()) // Outputs: SUCCESS
println(status.Desc()) // Outputs: Success
Manage multiple enums:
enums := protoenum.NewEnums(
protoenum.NewEnum(yourpackage.StatusEnum_SUCCESS, "Success"),
protoenum.NewEnum(yourpackage.StatusEnum_FAILURE, "Failure"),
)
// Lookup examples
println(enums.GetByCode(1).Desc()) // Outputs: Success
println(enums.GetByName("FAILURE").Desc()) // Outputs: Failure
- Enum: Wraps a Protobuf enum with a description.
Code()
: Gets the numeric code.Name()
: Gets the enum name.Desc()
: Gets the description.
- Enums: A enums-map for lookup by code, name, or description.
MIT License. See LICENSE for details.
Welcome to contribute to this project by submitting pull requests or reporting issues.
If you find this package helpful, give it a star on GitHub!
Thank you for your support!
Happy Coding with protoenum
! 🎉
Give me stars. Thank you!!!