resolver.go 426 B

1234567891011121314151617181920212223
  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. func (s serialResolver) Resolve(typeURL string) (proto.Message, error) {
  10. instance, err := GetInstance(typeURL)
  11. if err != nil {
  12. return nil, err
  13. }
  14. return instance.(proto.Message), nil
  15. }
  16. func GetResolver() AnyResolver {
  17. return &serialResolver{}
  18. }