This is the review list for The List
Tool | Description | Replaced type-unsafe practices |
---|---|---|
capnp | Cap’n Proto serialization and RPC system for Go. | Reflection-based field encoding/decoding in RPC or serialization. |
gqlgen | go generate based graphql server library | v |
oapi-codegen | Generate Go client/server code from OpenAPI 3 specs. | Runtime route dispatch & payload decoding with reflect . |
protoc-gen-go-grpc | gRPC code generator for Go — creates client/server stubs. | Dynamic service dispatch via reflection in RPC frameworks. |
twirp | Simple RPC framework with generated code from .proto files. |
Generic RPC routing and handler registration via reflection. |
Tool | Description | Replaced type-unsafe practices |
---|---|---|
ent | An entity framework for Go: simple, yet powerful ORM for modeling and querying data. | Generic ORM field/column mapping via reflect (e.g., GORM-style). |
jet | Type-safe SQL builder for Go with code generation from schema. | Reflection-based dynamic SQL builders. |
xo | Command-line tool to generate Go code from a database schema. | Dynamic ORM query building and result mapping. |
Tool | Description | Replaced type-unsafe practices |
---|---|---|
avrogen-go | Avro code generation for Go from Avro schema files. | Reflection-based Avro decoding/encoding. |
easyjson | Fast JSON serializer for Go — reflectionless encoding/decoding. | encoding/json struct field scanning via reflection. |
ffjson | Faster JSON serialization for Go — generates static code. | encoding/json reflection for marshaling/unmarshaling. |
flatbuffers | Memory-efficient serialization library with generated Go code. | Generic serialization frameworks with reflection. |
msgp | Code generator and runtime for MessagePack in Go. | Dynamic serialization/deserialization frameworks. |
protoc-gen-go | Go support for Protocol Buffers. | Generic serialization frameworks that rely on reflection. |
Tool | Description | Replaced type-unsafe practices |
---|---|---|
genny | Code generation for generic data structures. | Reflection-based generic containers and utils. |
wire | Compile-time dependency injection for Go. | Runtime DI containers using reflection to construct dependencies. |
Tool | Description | Replaced type-unsafe practices |
---|---|---|
counterfeiter | Generates Go interfaces and their fakes. | Reflection-based fake object creation. |
mockery | A mock code autogenerator for Go interfaces. | Reflection-based mocks that inspect method sets at runtime. |
moq | Interface mocking tool for Go generate tests without hand-written mocks. | Reflection-driven mock frameworks that dynamically implement interfaces. |
Tool | Description | Replaced type-unsafe practices |
---|---|---|
enumer | Code generation for Go enums with Stringer-like methods, JSON, text marshal/unmarshal. | Generic enum-to-string mappers using reflection or maps. |
go-enum | Generates enums from Go comments and type declarations. | Runtime enum parsing via reflection. |
Tool | Description | Replaced type-unsafe practices |
---|---|---|
protoc-gen-validate | Protocol Buffer codegen for message validation. | Reflection-based validation frameworks that iterate over fields dynamically. |
validate | With codegen wrappers, generates validation functions instead of runtime tag parsing. | Reflection-based tag scanning in validation. |