cosmos-sdk/client/v2/internal/util/util.go

30 lines
838 B
Go

package util
import (
"github.com/iancoleman/strcase"
"google.golang.org/protobuf/reflect/protoreflect"
"google.golang.org/protobuf/reflect/protoregistry"
"google.golang.org/protobuf/types/dynamicpb"
)
func DescriptorKebabName(descriptor protoreflect.Descriptor) string {
return strcase.ToKebab(string(descriptor.Name()))
}
func DescriptorDocs(descriptor protoreflect.Descriptor) string {
return descriptor.ParentFile().SourceLocations().ByDescriptor(descriptor).LeadingComments
}
func ResolveMessageType(resolver protoregistry.MessageTypeResolver, descriptor protoreflect.MessageDescriptor) protoreflect.MessageType {
if resolver == nil {
resolver = protoregistry.GlobalTypes
}
typ, err := resolver.FindMessageByName(descriptor.FullName())
if err == nil {
return typ
}
return dynamicpb.NewMessageType(descriptor)
}