Documentation
¶
Index ¶
- Variables
- func Register[T any, P proto.Message](marshaler Marshaler[T, P], options ...func(*metadataConfig)) error
- func RegisterFatal[T any, P proto.Message](marshaler Marshaler[T, P], options ...func(*metadataConfig))
- func WithHidden[T any](hidden bool) func(config *metadataConfig)
- func WithReplicate[T any](replicate bool) func(config *metadataConfig)
- type Marshaler
- type Metadata
- func (m Metadata[C, P]) IsHidden() bool
- func (m Metadata[C, P]) MarshalProto(component C) (P, error)
- func (m Metadata[C, P]) MarshalProtoAny(component any) (proto.Message, error)
- func (m Metadata[C, P]) ShouldReplicate() bool
- func (m Metadata[C, P]) UnmarshalProto(msg P) (C, error)
- func (m Metadata[C, P]) UnmarshalProtoAny(msg proto.Message) (any, error)
- type MetadataAny
- func GetMetadata(component any) (MetadataAny, bool)
- func GetMetadataType(typ reflect.Type) (MetadataAny, bool)
- func ListMetadata() []MetadataAny
- func MarshalProto(cmp any) (proto.Message, MetadataAny, error)
- func MarshalProtoAny(cmp any) (*anypb.Any, MetadataAny, error)
- func UnmarshalProto(msg proto.Message) (any, MetadataAny, error)
- func UnmarshalProtoAny(msg *anypb.Any) (any, MetadataAny, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrComponentAlreadyRegistered = errors.New("component already registered")
View Source
var ErrMarshalInvalidType = errors.New("invalid component type")
View Source
var ErrMarshalerRequired = errors.New("marshaler is required")
View Source
var ErrProtoMessageAlreadyRegistered = errors.New("proto message already registered")
View Source
var ErrUnknownComponent = errors.New("unknown component")
View Source
var ErrUnknownProtoMessage = errors.New("unknown proto message")
Functions ¶
func RegisterFatal ¶
func WithHidden ¶
func WithReplicate ¶
Types ¶
type Metadata ¶
func (Metadata[C, P]) MarshalProto ¶
func (Metadata[C, P]) MarshalProtoAny ¶
func (Metadata[C, P]) ShouldReplicate ¶
func (Metadata[C, P]) UnmarshalProto ¶
type MetadataAny ¶
type MetadataAny interface {
MarshalProtoAny(any) (proto.Message, error)
UnmarshalProtoAny(proto.Message) (any, error)
ShouldReplicate() bool
IsHidden() bool
}
func GetMetadata ¶
func GetMetadata(component any) (MetadataAny, bool)
func GetMetadataType ¶
func GetMetadataType(typ reflect.Type) (MetadataAny, bool)
func ListMetadata ¶
func ListMetadata() []MetadataAny
func MarshalProto ¶
func MarshalProto(cmp any) (proto.Message, MetadataAny, error)
func MarshalProtoAny ¶
func MarshalProtoAny(cmp any) (*anypb.Any, MetadataAny, error)
func UnmarshalProto ¶
func UnmarshalProto(msg proto.Message) (any, MetadataAny, error)
func UnmarshalProtoAny ¶
func UnmarshalProtoAny(msg *anypb.Any) (any, MetadataAny, error)
Click to show internal directories.
Click to hide internal directories.