resolver.go 428 B

123456789101112131415161718192021222324
  1. package serial
  2. import (
  3. "github.com/golang/protobuf/proto"
  4. )
  5. type AnyResolver interface {
  6. Resolve(typeURL string) (proto.Message, error)
  7. }
  8. type serialResolver struct {
  9. }
  10. func (s serialResolver) Resolve(typeURL string) (proto.Message, error) {
  11. instance, err := GetInstance(typeURL)
  12. if err != nil {
  13. return nil, err
  14. }
  15. return instance.(proto.Message), nil
  16. }
  17. func GetResolver() AnyResolver {
  18. return &serialResolver{}
  19. }